chi*_*aku 7 python program-entry-point code-structure
阅读以下内容后,我想我明白将最简单的脚本包装在 main() 函数中的价值。
我应该在 main() 内部还是外部定义所有函数?
有正确或错误的方法吗?两种方法的优缺点是什么?
我不鼓励在 内定义函数main(),尤其是当你的 Python 脚本中有多个文件时。在 functionB内部定义的任何函数A都不能被 function 之外的任何东西使用A,这严重限制了它的可用性。main()例如,内部定义的函数不能导入到其他地方。
在其中定义函数main()可以让您轻松覆盖您可能在其他地方编写的具有相同名称的其他函数,但是真正有用的实例很少,而且您不应该将其作为一般做法。总体而言,在外部定义函数的原因要main()多于在内部定义函数的原因,如果您正在学习 Python,那绝对是您应该如何处理它的原因。
如果你在 main 函数内部定义了一个函数,你将无法从外部使用它。下面是一个例子:
def outer():
print "outer function"
def main():
def inner():
print "inner function"
inner()
if __name__ == "__main__":
main() # outputs: "inner function"
outer() # outputs: "outer function"
inner() # fails!
Run Code Online (Sandbox Code Playgroud)