Python:如果_uname_u==main,如何在内部插入return?

Python:如果_uname_u==main,如何在内部插入return?,python,function,return,Python,Function,Return,这会产生以下错误: if __name__=="__main__": box = Myfunc() box.do(1) if box.loop() <> Drh.DrhOk: return else: ... ... 如果名称=“\uuuuu main\uuuuuuuu”: box=Myfunc() 方框.do(1) 如果box.loop()Drh.DrhOk: 返回 其他: ... ... SyntaxE

这会产生以下错误:

if __name__=="__main__":
    box = Myfunc()
    box.do(1)
    if box.loop() <> Drh.DrhOk:
        return 
    else:
      ...
      ...
如果名称=“\uuuuu main\uuuuuuuu”:
box=Myfunc()
方框.do(1)
如果box.loop()Drh.DrhOk:
返回
其他:
...
...
SyntaxError:函数外部的“return”


如果uuu name uuu==“uuuu main uuuu”:块,如何返回
。您的
\uuuu主\uuuu
块应始终为:

if __name__ == "__main__":
    main()

将代码放在
main()
函数中可以确保它是可测试的。

如果不想返回,可能需要停止执行。使用

错误是自描述性的。您正在函数外部调用return。如果您有一个
else:
块,为什么需要返回呢?旁注:使用
而不是
=已弃用。使用后者。@Martijn Pieters,因为box.loop()可能有无效值。那么function必须返回。@alwbtc:但它不是一个函数。它是当这是主模块时运行的一段代码。没有什么可以回归的;如果所有其他内容都在
else:
套件中,那么代码自然会结束,而不会发生其他任何事情。您可以使用
sys.exit()
,或者将其封装在
main()
函数中,但最终,这两者都不会对Python实际执行的内容产生影响。更正确的说法是
允许它是可测试的
确保
意味着无法编写
main()
不稳定。太好了。谢谢你的回答。