【发布时间】:2016-11-03 06:12:05
【问题描述】:
类(不是实例)是否有 init() 方法。 我想要的是在第一次创建实例时设置类变量值(这是昂贵的操作)。 类似的东西:
class Blah:
abc = None
def __init__(self):
if Blah.abc is None : Blah.abc = [1,2,3]
【问题讨论】:
-
为什么你的例子不起作用?
-
你可能会玩弄一个元类并让它做你想做的事。这是一个开始 - Python metaclasses by example
-
或者Using Decorators to Patch Class Definitions (Python Cookbook) - 大约在该页面的三分之一处
-
我是即时写的。它似乎在 ipython 中不起作用,但如果存储在文件中则可以。
标签: python initialization class-variables