创新互联Python教程:Python中的main函数解析

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

成都创新互联公司是一家专注于成都网站建设、做网站与策划设计,西安网站建设哪家好?成都创新互联公司做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:西安等地区。西安做网站价格咨询:18982081108

当该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程序,结果如下

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

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

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

分享标题:创新互联Python教程:Python中的main函数解析
文章起源:http://www.shufengxianlan.com/qtweb/news41/532091.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联