我已經以下代碼:staticmethod和遞歸?
class Foo(object):
def __init__(self):
baz=self.bar(10)
@staticmethod
def bar(n):
if n==0:
return 'bar'
else:
return bar(n-1)
bar()的,因爲它需要本身參考遞歸函數。但是,bar()在類中,調用return bar(n-1)
將不起作用,調用NameError: global name 'bar' is not defined
。我該如何處理這種情況?我是否應該將bar()更改爲類或實例方法,從而允許訪問self
或cls
?
在遞歸調用幫助中調用'Foo.bar(n-1)'嗎? – inspectorG4dget