gpt4 book ai didi

python - 为什么我们在 python 中放置一个 main() 函数,而不是直接将代码放在 "name == main"子句中?

转载 作者:行者123 更新时间:2023-11-30 21:50:47 25 4
gpt4 key购买 nike

据说在 python 模块中编写以下代码块是一个很好的做法:

if __name__ == '__main__':
# execute only if run as a script
main()

当您想要将此模块导入另一个程序时,这可以防止执行语句。

但是,这里奇怪的是 ma​​in() 函数。我们还需要将代码放入实际的 main 方法中,如下所示:

def main()
# All code goes here
print("Inside main")

我觉得这是一种迂回的方式。创建单独的 ma​​in() 函数然后在 if 子句中调用它有什么好处吗?

直接在 if 子句中编写代码有什么坏处?

if __name__ == '__main__':
# All code goes here
print("Inside main")

最佳答案

However, the curious thing over here is that main() function. We also need to put our code into an actual main method as follows:

嗯,您不需要这样做。实际上,如果您想要的只是一个简单的脚本(不会用作模块的东西),您甚至根本“不需要”任何函数,您也可以将所有代码直接放在顶层。但这不会产生干净、可维护、可测试的代码。

I feel that this is a roundabout way. Are there any benefits to creating a separate main() function and then calling it inside the if-clause

与使用函数(以及模块和类)组织代码所获得的好处非常简单:干净、可读、可测试、可维护的代码。只要问问自己,如果没有 main 函数,您将如何测试 main 函数?

关于python - 为什么我们在 python 中放置一个 main() 函数,而不是直接将代码放在 "name == main"子句中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60276536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com