1

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])

リバースを使用して再帰呼び出しを実行しようとしています...。親切に助けてください。ありがとう!

4

2 に答える 2

4

あなたのクラスReversereverseは、 はメソッドなので、メソッドとして呼び出す必要があります:

print var[-1] + self.reverse(var[:-1])

に注意してくださいself

于 2013-02-25T03:59:01.070 に答える
4

が暗示されている他の言語とは異なりthis、Python では、selfインスタンス メソッドまたは変数を使用するたびに明示Reverse的に言う必要があるため、明示的に言う必要があります。

self.reverse(var[:-1])

もちろんreverse、何も返さないので、次のように変更する必要があります

return var[-1] + self.reverse(var[:-1])
于 2013-02-25T04:02:07.913 に答える