mna*_*gel 5 python program-entry-point idioms
我知道为“脚本风格”Python 程序定义 main() 方法是一种很好的风格,这样以后就可以选择将其作为模块包含在内。
所以让我们假设这段代码(随机片段):
a = 5
if a > 0:
print a
Run Code Online (Sandbox Code Playgroud)
变成
def main():
a = 5
if a > 0:
print a
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
导致我的所有代码都缩进一级。为了最大程度地清晰起见,我尝试避免代码中不必要的缩进/嵌套,因此我想知道是否可以在这里做一些事情,例如
if __name__ != "__main__":
return # just leave this file
a = 5
if a > 0:
print a
Run Code Online (Sandbox Code Playgroud)
但是(当然)这会触发:
SyntaxError: 'return' outside function
Run Code Online (Sandbox Code Playgroud)
这样的事情可能吗?可取吗?惯用语?
不,不可能,真的。
当您的模块__name__不是由另一段代码作为常规模块导入时。 '__main__'在这种情况下你不能提前退出。
一次额外的缩进级别有什么问题呢?只需点击编辑器中的选项卡即可完成?就我个人而言,我发现使用main()函数比不缩进代码更好地记录意图。
| 归档时间: |
|
| 查看次数: |
1605 次 |
| 最近记录: |