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])
我正在尝试使用反向进行递归调用.... 请帮忙。谢谢!
答案 0 :(得分:4)
在您的班级Reverse
中,reverse
是一种方法,因此您需要将其称为方法:
print var[-1] + self.reverse(var[:-1])
请注意self
。
答案 1 :(得分:4)
与隐含this
的其他语言不同,Python要求您在使用实例方法或变量时明确说出self
,因此在Reverse
中您需要明确说出
self.reverse(var[:-1])
当然reverse
不会返回任何内容,因此您需要将其更改为
return var[-1] + self.reverse(var[:-1])