个人理解的python的面向对象
在学习到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
有兴趣的可以试一下,如有不对之处欢迎指正
浙公网安备 33010602011771号