类变量 实例变量
Python类变量:
即属于类的并能够在不同实例间共同使用的变量,相当于java中的static变量
Python实例变量:
即属于某一个实例自身的变量,相当于java中普通的变量
命名规范
模块名和包名:小写字母,单词之间用_分割 hello_world.py
类名:单词首字母大写 CommenUtil
全局变量名 类变量:大写字母,单词之间用_分割VAR_COUNTER
普通变量:小写字母,单词之间用_分割 this_var
实例变量:以_开头,其他和普通变量一样 _var
私有实例变量(类似于java的private变量,外部访问会报错):以__开头,其他和普通变量一样 __private_var
专有变量:__开头,__结尾,一般为python的自有变量,不要以这种方式命名 __class__
普通函数:和普通变量一样hello_world()
私有函数(外部访问会报错):以__开头,其他和普通函数一样__hello_world()
代码示例:
class Foo:
VAR = 0
def __init__(self):
self._val = 1
if __name__ == '__main__':
foo = Foo()
print Foo.VAR
print foo.VAR
print foo._val
输出:
0
0
1
执行父类方法
super()
class Animal(object):
def hello(self):
print 'Hi,animal.'
class Dog(Animal):
def hello(self):
super(Dog, self).hello()
if __name__ == '__main__':
dog = Dog()
dog.hello()
其中class Animal(object)中的object不能缺失,否则报错。
调用父类构造方法
方法一:
class Animal(object):
def __init__(self):
self.val = 1
class Dog(Animal):
def __init__(self):
Animal.__init__(self)
print self.val
if __name__ == '__main__':
dog = Dog()
方法二:
class Animal(object):
def __init__(self):
self.val = 1
class Dog(Animal):
def __init__(self):
super(Dog, self).__init__()
print self.val
if __name__ == '__main__':
dog = Dog()