python 里self是表示当前类的实例化对象。
如果变量前面加了self,那么在任何实例方法(非staticmethod和calssmethod)就都可以访问这个变量了,如果没有加self,只有在当前函数内部才能访问这个变量。
class MyDefineMethon(object):
num = 99;
name = 'aaa'
def fun3(self):
name = 'hjw' #这里的name是fun3里的name,与类属性name无关
self.age = 24 #带有self 是任何的实例方法都可以访问
print(name ,self.age)
def fun4(self):
print(self.name,self.age) #这里的name是类的实例变量,age是上个方法里定义的全局变量
if __name__ == '__main__':
demo = MyDefineMethon()
demo.fun3()
demo.fun4()
结果是:
hjw 24
aaa 24