python中main函数的用法

什么场景下会有main函数?

当该python脚本被作为模块(module)引入(import)时,其中的main()函数将不会被执行。

main函数的作用?

__ name__ == '__ main__'是Python的main函数入口。并非说,加入这句才能使用python xxx.py来执行,而是说,这里可以判断,当前是否是直接被python直接调用执行。

main为什么只有文件当作执行程序的时候才会被执行呢?

这是由于两方面原因,一方面,main函数是所有执行程序的入口;另一方面,python的解释器是顺序执行脚本的并且不会调用任何不属于程序本身的代码和函数,需要补充说明的一点是,如果是被作为一个模块或库import到程序中,则会直接成为代码的一部分。

参考代码:

文件:main_function.py

import datetime

print('Hello World!')
print('Time is ', datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S %A'))


def main():
    print('this message is from main function')


if __name__ == '__main__':
    main()

执行结果:

➜  main git:(master) ✗ py main_function.py
Hello World!
Time is  2019-07-22 09:50:50 Monday
this message is from main function

文件二:test_main.py

import main_function

print("Done!")

执行结果:

➜  main git:(master) ✗ py test_main.py
Hello World!
Time is  2019-07-22 09:52:00 Monday
Done!
posted @   Python探索牛  阅读(22679)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示