【发布时间】:2011-10-28 16:31:08
【问题描述】:
有没有办法只调用一次类的init()方法。或者当我从类创建对象时如何禁用 init() 调用?
【问题讨论】:
-
你的意思是你想要一个单身人士?
-
__init__将始终在对象构造时被调用。这就是它的用途。如果您尝试只调用一次,那么您的逻辑可能存在缺陷。如果您发布您想要实现的目标,我们可能会帮助您提出更正确的解决方案 -
__init__的目的是在您创建类的实例时触发。更具体地说明您在此处尝试执行的操作。 -
我想他想避开
Foobar().__init__( ... )。 -
这是您想在第一次创建对象时运行的东西,然后再也不会运行,还是您想在创建类时运行它?如果是后者,请尝试查看 Metaclasses。以下 SO 答案是对元类的一个很好的介绍:stackoverflow.com/questions/100003/…