如何在python中定义匿名类型

如何在python中定义匿名类型,python,dynamic,python-2.7,Python,Dynamic,Python 2.7,因此python是动态的。我应该能够随意地向类实例添加属性 我正在尝试这样做: spam = None spam.eggs = [] 但显然,我无法将属性添加到None 如何将垃圾邮件定义为未定义的“空类”的实例,我可以在执行过程中向其添加属性?否,您可以向允许它的对象类型添加属性无,对象,类型,int等。不要这样做,因为它们是不可变的。否,您可以向允许它的对象类型添加属性无,对象,类型,int等。不要这样做,因为它们是不可变的。在Python 3.3+中使用: class Bag(objec

因此python是动态的。我应该能够随意地向类实例添加属性

我正在尝试这样做:

spam = None
spam.eggs = []
但显然,我无法将属性添加到
None


如何将垃圾邮件定义为未定义的“空类”的实例,我可以在执行过程中向其添加属性?

否,您可以向允许它的对象类型添加属性<代码>无,
对象
类型
int
等。不要这样做,因为它们是不可变的。

否,您可以向允许它的对象类型添加属性<代码>无,
对象
类型
int
等。不要这样做,因为它们是不可变的。

在Python 3.3+中使用:

class Bag(object):
  pass

spam = Bag()
spam.eggs = []
在Python 3.3+中,使用:


那么我需要先定义一个类吗?是的。您甚至不能向
对象的实例添加属性。
(对象)
位的含义是什么?为什么不仅仅是
类包:
?它确保了
是一个新样式的类,它比旧样式的类有很多优点(并且是3.x中唯一可用的样式)。在Python 2和3中,如果没有
(对象)
部分,它就可以很好地工作。所以我确实需要先定义一个类?是的。您甚至不能向
对象的实例添加属性。
(对象)
位的含义是什么?为什么不仅仅是
类包:
?它确保了
是一个新样式的类,它比旧样式的类有很多优点(并且是3.x中唯一可用的样式)。如果不使用Python 2和3中的
(对象)
部分,它就可以很好地工作。不,您可以向对象类型添加允许它的属性
None
type
int
不可更改,因为它们是不可变的。不可更改,您可以向对象类型添加允许该属性的属性
None
type
int
不可更改,因为它们是不可变的。
from types import SimpleNamespace

spam = SimpleNamespace(eggs=[])
print(spam) # -> namespace(eggs=[])
spam.rice = {}
print(spam) # -> namespace(eggs=[], rice={})