Python 类中方法的内部变量,命名加'self.'变成 self.xxx 和不加直接 xxx 的区别

来源:互联网 发布:fiiish旅行数据 编辑:程序博客网 时间:2024/05/21 17:40

先看两个类的方法:

>>> class nc():def __init__(self):self.name ='tester'  #name变量加self>>> class mc():def __init__(self): name = 'tesster'     #name变量不加self>>> nc = nc()  #实例化nc()>>> nc.name    #通过.操作符可以调用该方法的属性name,说明加self后的name是该方法的属性 attribute。'tester'>>> mc = mc()  #实例化mc()>>> mc.name    #尝试通过.操作符调用变量name,明显提示错误,说明不加self的变量不是该方法的属性,它是方法的全局变量。Traceback (most recent call last):  File "<pyshell#33>", line 1, in <module>    mc.nameAttributeError: 'mc' object has no attribute 'name'
python中类方法的属性需要加self,也就是self.xxx,这个是方法的属性!

类方法的变量不加self,也就是xxx,这个是方法的全局变量!

在类中,self只能在方法中使用表示该方法的实例属性,也就是每个实例可以设置不同的值而不会相互影响;在方法下不使用self表示是全局变量。




1 0
原创粉丝点击