【发布时间】:2012-08-24 19:13:40
【问题描述】:
我想在创建类时自动运行一些可以调用其他类方法的代码。我还没有从类声明本身中找到这样做的方法,最终创建了一个名为 __clsinit__ 的 @classmethod 并在类声明之后立即从定义范围调用它。有没有我可以定义的方法,以便在创建类对象后自动调用它?
【问题讨论】:
-
类创建还是实例创建?因为两者都可以,但答案因人而异。
-
您可以为此使用元类。参见例如this question。
-
旁白:请不要编造
__special_methods__。这是为 Python 语言保留的。如果您希望它是私有的,请使用_single_underscore_prefix。
标签: python class-method initializer