Skip to main content
 首页 » 编程设计

python之名称错误 : global name 'reverse' is not defined

2025年05月04日15exmyth

python 新手....真的被这个奇怪的错误搞糊涂了.... 我不认为我做错了什么,是吗?

主要.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() 

方法.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])