如何正确完成python 3脚本

kmi*_*las 3 python return exit python-3.x

在 C++ 中,main()函数被标准化为类型int,因此应该return(0)可以成功执行。此外,程序通常会在最后打印一个换行符来刷新stdout,如下所示:

最小的、完整的、可验证的示例

hello_world.cpp

#include <iostream>
int main() {
    std::cout << "hello, world" << std::endl;

    printf("\n");
    return(0);
}
Run Code Online (Sandbox Code Playgroud)

你好,世界

是否有等效的方法来正确退出 Python 脚本?还打印换行符,然后显式退出代码 0 是否有意义?

你好世界.py

import sys
print("hello, world")

print('\n')
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)

你好,世界

Tyvm :^)

Gre*_*Guy 5

当没有更多代码可以运行时,python 脚本结束。教科书 hello world 程序是一行:

print("hello, world!")
Run Code Online (Sandbox Code Playgroud)

Python 的print()函数与其他语言的println()函数等效,因为它默认打印换行符。您可以使用可选的end关键字参数更改此行为:

print("Hello", end=" ")
print("World!")
Run Code Online (Sandbox Code Playgroud)

而且,如果您出于任何原因只想打印额外的一行,您甚至不必费心去指定它——您可以print()不带参数调用它,它会打印一个空行。

您将看到的大多数 Python 脚本还具有这样的功能:

if __name__ == "__main__":
    print("hello, world!")
Run Code Online (Sandbox Code Playgroud)

这本质上是一个过滤器,以确保当前代码作为脚本运行,并且它不只是由其他文件导入(__name__是一个内置变量,说明导入模块的名称,或者"__main__"如果它直接从命令行运行,因此不是从任何地方导入的)。

默认情况下,python 脚本将退出并显示代码0。如果您想以不同的返回码退出(例如,如果您的脚本遇到错误并且您想优雅地退出),您可以使用内置的exit()(或者sys.exit()如果您想更安全一点 - 请参阅下面的@cdarke 的优秀评论) )。否则,标准做法是让脚本自行结束。

  • @kmiklas:有一个空行 (3认同)
  • *您可以使用内置的 exit() 函数* - 不。似乎有一个名为“exit”的内置函数,其行为与“sys.exit”相同,但外观可能具有欺骗性。“exit”不是内置函数,而是一个“site.Quitter”可调用对象,它会引发“SystemExit”异常。站点模块通常在启动时自动加载,但可以使用“-S”命令行选项来抑制,在这种情况下“exit”将不起作用。 (3认同)