【发布时间】:2021-02-25 05:07:16
【问题描述】:
我刚开始在 Java 方面有一点背景来学习 python,并且每当我尝试运行我的代码时都会遇到这个错误。输出和错误信息
这是我在这个类中编写的方法。所涉及的方法,除了最后一个
我检查了多次,这不是拼写错误。我不明白为什么我不能在同一个类中调用另一个方法。
【问题讨论】:
我刚开始在 Java 方面有一点背景来学习 python,并且每当我尝试运行我的代码时都会遇到这个错误。输出和错误信息
这是我在这个类中编写的方法。所涉及的方法,除了最后一个
我检查了多次,这不是拼写错误。我不明白为什么我不能在同一个类中调用另一个方法。
【问题讨论】:
要访问同一类中的方法,您必须使用 self 这个词。要使该词有效,每个方法都必须将其作为第一个参数。 p>
也就是说,你会这样定义上面的方法::
def main(self): self.run()
然后在运行时::
def run(self): #do your stuff down here
请务必考虑 python 的制表符,因为 stackoverflow 不允许我这样做,或者我不知道该怎么做
【讨论】:
您需要在整个类中添加self,将其传递给每个方法,并在调用方法和引用变量时使用它。
class RPS:
def main(self):
print ("Let's play some RPS.")
self.run()
def run(self):
self.compTurn()
def compTurn(self):
compRo11 = 1
if compRo11 == 1:
compRo11 = 'rock'
elif compRo11 == 2:
compRo11 = 'paper'
elif compRo11 == 3:
compRo11 = 'scissors'
print(compRo11)
def usrTurn(self,compRo11):
pass
rps = RPS()
rps.main()
【讨论】:
class Hello:
def main(self):
print("print")
self.run()
def run(self):
print("run")
hello = Hello()
hello.main()
谢谢
【讨论】: