【发布时间】:2012-10-22 10:04:23
【问题描述】:
我有以下代码:
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)有帮助吗?