标签:
在学习到python的面向对象的时候,发现python的类的的属性是有区分类的属性及对象的属性的,代码示例如下:
class test: a = ‘test‘ def test1(self,a): self.a = a def show(self): print(test.a) def show1(self): test.a = ‘for test‘ print(test.a) t = test() t.a = ‘zjc‘ t.test1(‘zjc‘)
print(t.a) t.show() t.show1()
test.a = ‘to do something‘
t.show()
在代码里面,a = ‘test‘中的a是属于类的属性,也就是说只有test这个类才能有效的去修改a这个属性的值,而通过对象示例话出来的t对test这个类的a的这个属性的修改是无效的,这个属于类的属性只能通过类来进行修改,如在类里面定义的show1()这个函数。而在函数test1(self,a)中的a是属于对象的属性,也就是说这个a是可以通过t这个实例化的对象来进行值的修改。
以上代码的输出结果如下:
zjc test for test to do something
有兴趣的可以试一下,如有不对之处欢迎指正
标签:
原文地址:http://www.cnblogs.com/zengjc/p/5057780.html