Tôi đã mã sau:staticmethod và đệ quy?
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() là một hàm đệ quy nó cần tham chiếu đến chính nó. Tuy nhiên, thanh() nằm trong một lớp và gọi return bar(n-1)
sẽ không hoạt động, gọi NameError: global name 'bar' is not defined
. Làm thế nào tôi có thể đối phó với loại tình huống này? Tôi có nên thay đổi thanh() thành một lớp hoặc phương pháp thể hiện, cho phép truy cập vào self
hoặc cls
không?
Gọi điện thoại 'Foo.bar (n-1) 'trong trợ giúp gọi đệ quy? – inspectorG4dget