采用以下示例:
from foo import Bar
b = Bar
print(b.__slots__)
#Stack trace, no attribute __slots__
假设我们想要添加__slots__
属性,因为会创建很多(和很多)Bar
个实例。
from foo import Bar
CBar = Bar
CBar.__slots__ = ["one", "two", "three"]
b = CBar
print(b.__slots__)
#Success
b.four = 0
print(b.four)
#Prints 0....hmmm....
是否可以从模块导入类并动态添加__slots__
属性?