Python程序" main()"不运行调用

时间:2013-09-29 15:12:07

标签: python

我是学习Python并使用Eclipse + PyDev的新手。我似乎无法弄清楚为什么我的程序没有运行。

这是我的代码:

def main():
    print("Testing")
    test1 = float(input("Test1: "))
    test2 = float(input("Test2: "))
    test3 = float(input("Test3: "))
    calculate_cost (test1, test2, test3)

def calculate_cost (test1, test2, test3):
    print("Testing")

我假设我在一个或两个函数中缺少某些功能,以使其正常运行。

2 个答案:

答案 0 :(得分:6)

这是Python,而不是C / C ++,main()不是程序的入口点,您必须手动调用该函数。只需称呼它:

# your code
# ...
main()

如果要防止从其他地方导入时调用代码,则需要使用:

# your code
# ...
if __name__ == '__main__':
    main()

这个问题:What does if __name__ == “__main__”: do?解释了最后一个块。

答案 1 :(得分:3)

与其他一些语言不同,执行程序时没有强制执行main函数的约定。在Python中,您必须手动执行此操作。这意味着您必须在脚本底部放置main()以使main函数执行。

常见的模式是使用以下内容:

if __name__ == '__main__`:
    main()

这将在脚本直接运行时执行main函数,但在脚本作为模块导入到其他位置时会阻止其执行。有关该部分的更多详细信息,请参阅this question