这是一个创建于 1353 天前的主题,其中的信息可能已经有所发展或是发生改变。
class Meta(type):
def __new__(self,class_name,bases,attrs):
print(attrs)
return type(class_name,bases,attrs)
Meta('dog',(),{'x':5})
输出:{'x': 5}
class Meta(type):
def __new__(self,class_name,bases,attrs):
print(attrs)
return type(class_name,bases,attrs)
class Dog(metaclass = Meta):
x = 5
输出:{'__module__': '__main__', '__qualname__': 'Dog', 'x': 5}
请问两者是类似 class name:和 type(name,(),{})的这种等价吗...
1 条回复 • 2021-06-13 13:59:39 +08:00
![NKID00](https://cdn.v2ex.com/avatar/701b/5232/496486_normal.png?m=1661352108) |
|
1
NKID00 2021-06-13 13:59:39 +08:00 1
|