python的新手。。。确实与这个奇怪的错误混淆了。
我不认为我做错了,是吗?
main.py
from methods import Reverse
def main ():
b = [1,2,3,4,5,6,6,7,8,8,9,1,212,312,31,23,123455435,56,56,123]
a = "llaa"
thing = Reverse()
print thing.reverse(a)
main()
methods.py
class Reverse():
def __init__(self):
print "initialized reverse"
def reverse(self,var):
if var == "":
return var
else:
print var[-1] + reverse(var[:-1])
我正在尝试使用反向递归调用...。
请帮助。谢谢!
最佳答案
与其他隐含this
的其他语言不同,Python要求您在使用实例方法或变量时明确声明self
,因此在Reverse
中您需要明确声明
self.reverse(var[:-1])
当然
reverse
不返回任何内容,因此您需要将其更改为return var[-1] + self.reverse(var[:-1])
关于python - NameError:未定义全局名称“reverse”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15059838/