2024-06-16 15:05:18 发布
网友
我想在类创建时自动运行一些代码,这些代码可以调用其他类方法。我没有从类声明本身中找到这样做的方法,最后创建了一个名为__clsinit__的@classmethod,并在类声明之后立即从定义范围调用它。是否有一个方法可以定义为在类对象创建后自动调用它?在
__clsinit__
@classmethod
您可以使用metaclass或class decorator来完成此操作。在
类修饰符(从2.6开始)可能更容易理解:
def call_clsinit(cls): cls._clsinit() return cls @call_clsinit class MyClass: @classmethod def _clsinit(cls): print "MyClass._clsinit()"
元类的功能更强大;它们可以在类创建之前或之后调用代码并修改类的成分(也可以继承):
您可以使用metaclass或class decorator来完成此操作。在
类修饰符(从2.6开始)可能更容易理解:
元类的功能更强大;它们可以在类创建之前或之后调用代码并修改类的成分(也可以继承):
^{pr2}$相关问题 更多 >
编程相关推荐