【Python】类的属性和方法的参数加不加self的区别
2018-01-21 16:42
549 查看
先看一段代码class Test(object):ID = 1def __init__(self):passdef prtID(self):print(self.ID)def classplusOne(self):Test.ID += 1def ObjplusOne(self):self.ID += 1t1 = Test()t2 = Test()t1.classplusOne()这里会发现t1对ID进行了修改却影响了t2的ID, 这就说明ID属于Test类,而非它的对象,换句话说这个属性是全体Test实例共用的。这是因为self的意思同c++的this指针,它代表了类当前的实例,所以加了self的属性就是类实例的属性,不加就是类的属性,这同c++中静态类变量的含义是一样的。
相关文章推荐
- 关于Python的属性、参数、方法的解释、区别
- python @classmethod 和 @staticmethod区别,以及类中方法参数cls和self的区别
- Python在定义类方法时为什么要显示声明self参数
- python中的类中属性元素加self.和不加self.的区别
- Python 方法中变量加self和不加的区别
- 三篇文章,理解python类中的方法所需要的参数 self
- (1)python中的类中属性元素加self.和不加self.的区别是什么?
- python学习八(私有属性、__del__(self)方法)
- Python中字段(属性)、方法、特性的区别
- Python 方法中变量加self和不加的区别
- python的类方法为什么要写一个self参数
- Python 类中方法的内部变量,命名加'self.'变成 self.xxx 和不加直接 xxx 的区别
- python 中 类 子类 属性 方法 对象 self 理解
- python---面向对象,class参数、__init__方法、与函数区别
- caffe的python接口学习(12):查看属性、方法以及函数参数
- ListView集合中设置标记 setTag();方法带一个参数和两个参数的区别,以及设置标记时ViewHolder中的每一个属性控件都需要设置一次,否则在Item中每一个控件的点击事件中取出设置的标
- xmlhttp:open方法中的POST、GET参数的区别
- C#中引用类型做方法参数时,加ref或out,与不加ref或out到底有什么区别?
- c#方法中调用参数的值传递方式和引用传递方式,以及ref与out的区别
- python 参数列表中的self 显式不等于冗余