Python 简明教程
Python - Anonymous Class and Objects
Python 的内置 type() 函数返回一个对象所属的类。在 Python 中,类(无论是内置类还是用户定义的类)都是 class 类型的对象。
Example
class myclass:
def __init__(self):
self.myvar=10
return
obj = myclass()
print ('class of int', type(int))
print ('class of list', type(list))
print ('class of dict', type(dict))
print ('class of myclass', type(myclass))
print ('class of obj', type(obj))
它将生成以下 output −
class of int <class 'type'>
class of list <class 'type'>
class of dict <class 'type'>
class of myclass <class 'type'>
type() 有一个三参数版本,如下所示 −
Syntax
newclass=type(name, bases, dict)
使用上述语法,可以动态创建类。type 函数的三个参数是 −
-
name − 类的名称,它将成为新类的 name 属性
-
bases − 由父类组成的元组。如果不是派生类,则可以为空
-
dict − 形成新类命名空间的字典,其中包含属性、方法及其值。
Create an Anonymous Class
我们可以使用 type() 函数的上述版本创建一个匿名类。名称参数为 null string ,第二个参数是单个类的 tuple (object)类(请注意,Python 中的每个类都从 object 类继承)。我们添加某些实例变量作为第三个参数 dictionary 。我们现在将其保留为空。
anon=type('', (object, ), {})