pythonmain函数用法_Python中的main函数解析

895b1a37431b2b8bb9e85da7ab168124.png

Python作为一门较为灵活的解释型脚本语言,其中定义的main()函数只有当该Python脚本直接作为执行程序时才会执行;

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

这是由于两方面原因:

一方面,main函数是所有执行程序的入口;

另一方面,python的解释器是顺序执行脚本的并且不会调用任何不属于程序本身的代码和函数。

需要补充说明的一点是,如果是被作为一个模块或库import到程序中,则会直接成为代码的一部分。

下面可以通过程序来更好地了解main函数的作用,这里我们编写两段程序print_main_function.py和print_main_module.py

print_main_function.py# import os

# import time

import datetime

print('Hello World!')

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

print('__name__ value: ', __name__)

def main():

print('this message is from main function')

if __name__ == '__main__':

main()

# print(__name__)

print_main_module.py

import print_main_function

print("Done!")

单独运行print_main_function.py程序,结果如下

24df09107a00330bc62699cc8bed9a90.png

运行print_main_module.py程序(将print_main_function.py作为module引入执行),结果如下

a62b04b91b25546ad6694a6321afd7c4.png

对比两段程序运行结果可发现,当直接运行包含main函数的程序时,main函数会被执行,同时程序的__name__变量值为'__main__'。

当包含有main函数的程序被作为module被import时,该module程序(print_main_function.py)对应的__name__变量值为该module对应的函数名称,因此该module程序(print_main_function.py)中的main函数不会被执行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值