您可以使用类型来即时创建一个新类,然后实例化它。像这样:
>>> t = type('test', (object,), {})()
>>> t
类型的参数是:类名,基类的元组和对象的字典。哪些可以包含函数(对象的方法)或属性。
您实际上可以缩短第一行
>>> t = type('test', (), {})()
>>> t.__class__.__bases__
(object,)
因为默认情况下,类型创建从对象继承的新样式类。
但是如果你只想创建一个对象的实例。然后,只需创建一个它的实例。像lejlot建议。
创建一个这样的新类的实例有一个重要的区别,可能是有用的。
>>> a = object()
>>> a.whoops = 1
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'object' object has no attribute 'whoops'
在哪里:
>>> b = type('', (), {})()
>>> b.this_works = 'cool'
>>>