Python主函数

只有当Python作为一个程序执行时,才会执行主函数。正如你所知,我们也可以将Python程序作为一个模块进行导入,在这种情况下,主方法不应该被执行。

Python 主函数

任何程序的主要功能是程序的入口点。但是Python解释器按顺序执行源文件代码,如果代码不是文件的一部分,则不会调用任何方法。但是,如果它直接是代码的一部分,则在将文件作为模块导入时会执行它。这就是为什么在Python程序中定义主要方法的特殊技术,使得它在直接运行程序时才能执行,在导入为模块时不执行。让我们看看如何在一个简单的程序中定义Python主函数。python_main_function.py

print("Hello")

print("__name__ value: ", __name__)


def main():
    print("python main function")


if __name__ == '__main__':
    main()
  • When a python program is executed, python interpreter starts executing code inside it. It also sets few implicit variable values, one of them is __name__ whose value is set as __main__.
  • For python main function, we have to define a function and then use if __name__ == ‘__main__’ condition to execute this function.
  • If the python source file is imported as module, python interpreter sets the __name__ value to module name, so the if condition will return false and main method will not be executed.
  • Python provides us flexibility to keep any name for main method, however it’s best practice to name it as main() method. Below code is perfectly fine, however not recommended.
    def main1():
    print(“python main function”)if __name__ == ‘__main__’:
    main1()
python main function, python if name main

Python的主函数作为模块。

现在让我们将上述的Python源文件作为一个模块引入到另一个程序中,命名为python_import.py。

import python_main_function

print("Done")
python main method, python if main
Hello
__name__ value:  python_main_function
Done

请注意,第一和第二行是从python_main_function.py源文件中打印出来的。请注意__name__的值不同,因此主方法不会被执行。请注意,python程序语句是逐行执行的,因此在if条件之前重要的是先定义main()方法以执行主方法。否则,将会出现NameError:name ‘main’未定义的错误。以上就是关于python主函数的全部内容。参考资料:Python文档

发表回复 0

Your email address will not be published. Required fields are marked *


广告
将在 10 秒后关闭
bannerAds