我在Python 2.7中有以下代码:
>>> class A(object):
... pass
...
>>> class B(A):
... __slots__ = tuple()
...
>>> b = B()
>>> b.x = 1
>>> b.y = 2
这是否意味着子类__slots__
中的B
基本上没用,因为它不会阻止动态属性创建?
答案 0 :(得分:2)
从没有
__slots__
的班级继承时,__dict__
该类的属性始终可以访问,因此__slots__
子类中的定义毫无意义。