Python:SyntaxError:外部函数“返回”

时间:2019-08-07 06:44:21

标签: python

我有一个简单的Python代码:

import sys

def main(argv1, argv2):
    return 0 

if __name__ == '__main__':
    return main()

基本上我希望代码返回到主函数返回的主函数,但是在执行过程中出现以下错误:

$ python ../myexamples/sample.py
  File "../myexamples/sample.py", line 11
    return main()
    ^
SyntaxError: 'return' outside function

main方法不能将任何值返回给OS吗?

2 个答案:

答案 0 :(得分:0)

如果目标是在程序执行结束时将退出代码返回给os,则可以使用exit函数,return语句只能在函数内部使用,但是python程序本身不是函数。因此,要回答您的问题,您可以执行以下操作

import sys

def main(argv1, argv2):
    return 0 

if __name__ == '__main__':
    exit_code = main()
    exit(exit_code)

答案 1 :(得分:0)

“返回”仅在功能上有效,因此有效代码应为:

import sys

def main(argv1, argv2):
    return 0 

if __name__ == '__main__':
    main()

如果要获取此函数的返回值,则有效代码应为:

import sys

def main(argv1, argv2):
    return 0 

if __name__ == '__main__':
    return_value = main()