我觉得这一定是一个愚蠢的问题-此处不谈。因此,我很乐意回答“这是向后的,请不要这样做,请尝试以下方法:[正确的方法] ”。
我正在使用Python 2.7.5。
问题的一般形式
这会导致无限循环,除非Thesaurus(应用程序范围内的单例)不调用Baseclass.__init__()
class Baseclass():
def __init__(self):
thes = Thesaurus()
#do stuff
class Thesaurus(Baseclass):
def __init__(self):
Baseclass.__init__(self)
#do stuff
我的具体情况
我有一个基类,实际上我的应用程序中的所有其他类都可以扩展(只是一些应用程序内功能的基本约定;也许应该只是一个接口)。此基类旨在容纳一个Thesaurus类的单例,该类通过推断一些同义词(即{'yes':'yep', 'ok'})为用户输入提供一定的灵活性。
但是由于子类调用超类的__init__(),而后者又创建了另一个子类,因此随之而来。不能称呼超类的__init__()工作效果很好,但我担心这只是一个幸运的巧合,而且我的Thesaurus类最终可能会被修改为需要其父类__init__()。
人到中年有点甜
慕勒3428872
相关分类