Python - 001 - 类与实例间属性的理解
Python是个很灵活的语言,光看它的类和实例间属性的访问机制就可以看出这一点,不过这一点还真的不好理解,做了些测试之后我的理解是这样的:
实例在访问class属性时,先检索自己的names, 如果有的话就直接取出,没有的话就去找class的names里面找,找不到就是error啦
class Pclass(object): """docstring for Pclass""" num = 10 def __init__(self): super(Pclass, self).__init__() p = Pclass() print(p.num) #10 p.num = p.num + 1 print(p.num) #11 print(Pclass.num) #10 Pclass.age=12 print(Pclass.age) #12 print(p.age) #12 p.xxx=555 print(p.xxx) #555 print(Pclass.xxx) #AttributeError: type object 'Pclass' has no attribute 'xxx'