尽管在slots中限定了类模板的属性,但是实例依旧可以通过getattr获得限定外属性。
class A(object): __slots__=('a','b') def __getattr__(s,attr): return 2 a=A() print(a.c) # 打印出2
返回的 2 不属于限定外的属性吧,它也不属于属性 'c' 啊,2 只是替代了AttributeError
Sign in to make a reply
负能量预警
尽管在slots中限定了类模板的属性,但是实例依旧可以通过getattr获得限定外属性。