我是Python的新手,并且编写了以下简单脚本:

#!/usr/bin/python3
import sys

class Hello:
    def printHello():
        print('Hello!')

def main():
    helloObject = Hello()
    helloObject.printHello()   # Here is the error

if __name__ == '__main__':
    main()

当我运行它(./hello.py)时,出现以下错误消息:



为什么Python认为我给了printHello()一个参数而我显然没有给它一个参数呢?我做错了什么?

最佳答案

错误是指调用诸如self之类的方法时隐式传递的隐式helloObject.printHello()参数。该参数需要明确包含在实例方法的定义中。它看起来应该像这样:

class Hello:
  def printHello(self):
      print('Hello!')

07-25 21:45