__slots__, 字典, 为什么看不到第二组代码的字典?
在B站学到了第65讲,我的问题是,为什么第二组代码无法像第一组代码那样看到它的字典?第一组代码:
class C:
def __init__(self, x):
self.x = x
c = C(250)
c.x
250
c.__dict__
{'x': 250}
c.y = 520
c.__dict__
{'x': 250, 'y': 520}第二组代码:
class C:
__slots__ = ["x", "y"]
def __init__(self, x):
self.x = x
c = C(250)
c.x
250
c.y = 520
c.y
520
c.__dict__
Traceback (most recent call last):
File "<pyshell#52>", line 1, in <module>
c.__dict__
AttributeError: 'C' object has no attribute '__dict__'. Did you mean: '__dir__'?
因为用了 __slots__,就不会有 __dict__ 小甲鱼的二师兄 发表于 2024-8-19 18:19
因为用了 __slots__,就不会有 __dict__
好的,非常感谢
页:
[1]