TypeError:main()只取1个参数(给定0)

时间:2016-04-23 20:22:23

标签: python python-2.7 main typeerror

我正在尝试在Python 2.7.11的类文件中创建main()并运行它,但Python声称我需要传递main()一个参数。

def main(self):
    howManyBadCrops = BadCropsDetector() # My class
    # a bunch of stuff goes here that runs the module....

if __name__ == "__main__":
    main()

为什么会这样?这是我的终端输出:

Traceback (most recent call last):
  File "badCropsDetector.py", line 11, in <module>
    class BadCropsDetector:
  File "badCropsDetector.py", line 66, in BadCropDetector
    main()
TypeError: main() takes exactly 1 argument (0 given)

1 个答案:

答案 0 :(得分:5)

在这种情况下,您不需要self的函数定义中的main参数。这是因为main显然是一个模块级函数,当你编写一个包含在类中的函数(即方法)时,你只需要指定self。 / p>

只需从定义中删除它:

def main():