Python主要功能的两种变体

S S*_*ngh 5 python

在编写供个人使用的脚本时,我习惯这样做:

def do_something():
    # Do something.

if __name__ == '__main__':
    do_something()
Run Code Online (Sandbox Code Playgroud)

或者,我们也可以这样做:

def do_something(): 
    # Do something.  

do_something()      # No if __name__ thingy. 
Run Code Online (Sandbox Code Playgroud)

我知道在区分将脚本作为模块导入或直接调用它时,第一种形式是有用的,但对于只会执行(并且从不导入)的脚本,有没有理由更喜欢一个而不是另一个?

Sve*_*ach 17

即使脚本只是要执行,无论如何导入它有时也很有用 - 在交互式shell中,通过文档生成工具,在单元测试中或执行计时.因此,经常使用更一般的形式永远不会受到伤害.