Python元类的自定义功能
示例
可以更改元类中的功能,以便每当构建一个类时,就将字符串打印到标准输出,或者引发异常。此元类将打印正在构建的类的名称。
class VerboseMetaclass(type):
def __new__(cls, class_name, class_parents, class_dict):
print("建立课程 ", class_name)
new_class = super().__new__(cls, class_name, class_parents, class_dict)
return new_class您可以像这样使用元类:
class Spam(metaclass=VerboseMetaclass):
def eggs(self):
print("[insert example string here]")
s = Spam()
s.eggs()标准输出为:
建立课程 Spam [insert example string here]