我正在尝试在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)
在这种情况下,您不需要 main
的函数定义中的 self
参数。 这是因为main
显然是一个模块级函数,您只需在编写类中包含的函数(即方法)时指定self
。
只需将其从定义中删除:
def main():