我的問題可能是最容易看到的代碼。我願做以下如何在Python中遞歸調用構造函數(__init__)?
class A():
def __init__(self, i):
self.i = i
if i > 0:
self.a = A(i-1)
的想法是,我想創建一個類A型是可以遞歸調用自己的構造。如果我上面代碼中並嘗試創建一個實例,我得到以下:
a = Test(3)
---> self.a = A(i-1)
NameError: global name 'A' is not defined
是否有可能有一個類,遞歸調用自己的構造?如果是這樣,它是如何完成的?
您的代碼工作並不會引發錯誤。 –
你的代碼對我來說很好,在XP上使用python 2.7.1 – Nate
似乎你把'A'改名爲'Test',但忘了將它重新命名...... – Philipp