Ho seguente codice:metodo statico e ricorsione?
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() in funzione ricorsiva ha bisogno riferimento a se stessa. Tuttavia, bar() si trova all'interno di una classe e la chiamata a return bar(n-1)
non funzionerà, invocando NameError: global name 'bar' is not defined
. Come posso affrontare questo tipo di situazione? Devo cambiare barra() in un metodo di classe o istanza, consentendo l'accesso a self
o cls
?
Il richiamo di 'Foo.bar (n-1)' nella guida di chiamata ricorsiva? – inspectorG4dget