Python 类中方法的内部变量,命名加'self.'变成 self.xxx 和不加直接 xxx 的区别
2017-01-05 09:59
369 查看
先看两个类的方法:
类方法的变量不加self,也就是xxx,这个是方法的局部变量,不能被调用,只能在该方法内部使用!
在类中,self只能在方法中使用表示该方法的实例属性,也就是每个实例可以设置不同的值而不会相互影响;在方法下不使用self表示是该方法的局部变量,只能在该方法内使用。
self.xxx是全局的,xxx是局部的对于该方法有效。
>>> 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.name AttributeError: 'mc' object has no attribute 'name'python中类方法的属性需要加self,也就是self.xxx,这个是方法的属性!
类方法的变量不加self,也就是xxx,这个是方法的局部变量,不能被调用,只能在该方法内部使用!
在类中,self只能在方法中使用表示该方法的实例属性,也就是每个实例可以设置不同的值而不会相互影响;在方法下不使用self表示是该方法的局部变量,只能在该方法内使用。
self.xxx是全局的,xxx是局部的对于该方法有效。
相关文章推荐
- Python 方法中变量加self和不加的区别
- Python 方法中变量加self和不加的区别
- Python 中特殊变量/方法命名规则说明(特别是私有变量)及使用实例
- 笨方法学python--变量和命名
- Python 中特殊变量/方法命名规则说明(特别是私有变量)及使用实例
- Python变量、方法、类的命名规则
- self.方法和_对变量的引用的区别
- 笨方法学习Python-习题18: 命名、变量、代码、函数
- 笨方法学Python 习题 4: 变量(variable)和命名
- performSelector调用方法和直接self 调用方法的区别
- python 中变量的命名方法
- python-用@property将一个方法(例如getXxx/setXxx)变成属性
- 笨方法学习Python-习题4:变量(variable)和命名
- python基础===15条变量&方法命名的最佳实践
- 笨方法学Python 习题 18: 命名、变量、代码、函数
- C++构造函数对类成员变量初始化,使用初始化列表和构造函数内部直接赋值 的区别
- python @classmethod 和 @staticmethod区别,以及类中方法参数cls和self的区别
- 【Python】类的属性和方法的参数加不加self的区别
- 在ASP中,直接使用“Insert into” 语句与使用ADO中AddNew方法有什么区别?哪一种更好呢?
- 栈(stack)与堆(heap)区别以及Java的string变量赋值的内部工作机制(精典转载贴)