可以更改元类中的功能,以便每当构建一个类时,就将字符串打印到标准输出,或者引发异常。此元类将打印正在构建的类的名称。
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]