所以python是动态的。我应该能够随意向类实例添加属性。
我正在尝试这样做:
spam = None
spam.eggs = []
但显然我无法将属性添加到None
.
如何定义spam
为未定义的“空类”的实例,我可以在其中添加属性?
所以python是动态的。我应该能够随意向类实例添加属性。
我正在尝试这样做:
spam = None
spam.eggs = []
但显然我无法将属性添加到None
.
如何定义spam
为未定义的“空类”的实例,我可以在其中添加属性?
class Bag(object):
pass
spam = Bag()
spam.eggs = []
不,您可以将属性添加到允许它的对象类型。None
, object
, type
,int
等。人。不要,因为它们是不可变的。
在 Python 3.3+ 中使用types.SimpleNamespace
:
from types import SimpleNamespace
spam = SimpleNamespace(eggs=[])
print(spam) # -> namespace(eggs=[])
spam.rice = {}
print(spam) # -> namespace(eggs=[], rice={})