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

运行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函数解析相关推荐

  1. python中匿名函数的作用_Python 中的匿名函数,你会用吗

    原标题:Python 中的匿名函数,你会用吗 概念 我们从一个例子引入. 这里有一个元素为非空字符串的列表,按字符串最后一个字母将列表进行排序.如果原列表是 ['abc', 'g', 'def'],则 ...

  2. python匿名函数的作用_Python中的匿名函数及递归思想简析

    匿名函数 前言 上次咱们基本说了一下函数的定义及简单使用,Python中的基本函数及其常用用法简析,现在咱们整点进阶一些的.同样都是小白,咱也不知道实际需要不,但是对于函数的执行顺序以及装饰器的理解还 ...

  3. python主函数的作用_python中main函数的用法

    原博文 2020-03-27 20:25 − **什么场景下会有main函数?** 当该python脚本被作为模块(module)引入(import)时,其中的main()函数将不会被执行. **ma ...

  4. python语言中print函数的作用_python中如何使用print函数

    Python中print语句 1.逗号分隔符 在Python中print语句可根据sys.stdout中包含的文件生成输出,它接受一个逗号分隔的对象表,如下实例:x = 1 y = 2 z = 3 p ...

  5. python中sorted函数的作用_Python中排序方法sort、函数sorted的key参数的作用分析

    从Python2.4开始,list.sort方法 和 sorted方法 都增加了一个 'key' 参数用来在进行比较之前指定每个列表元素上要调用的函数,将函数的返回值作为比较的依据. 那么怎么使用这个 ...

  6. 在python中使用什么函数进行输出_Python中使用pprint函数进行格式化输出的教程

    pprint – 美观打印 作用:美观打印数据结构 pprint 包含一个"美观打印机",用于生成数据结构的一个美观视图.格式化工具会生成数据结构的一些表示,不仅可以由解释器正确地 ...

  7. python中sorted()函数的用法_Python中的Sorted()函数

    在本教程中,我们将学习Python中的sorted()函数. 函数sorted()用于对可迭代对象进行升序或降序排序.我们甚至可以根据不同的键和值对字典列表进行排序.让我们充分利用sorted()函数 ...

  8. python函数isdisjoint方法_Python中的isdisjoint()函数

    在本文中,我们将学习如何在set()数据类型上实现isdisjoint()函数.此函数检查作为参数传递的集合是否具有任何共同的元素.如果找到任何元素,则返回False,否则返回True. 除了设置输入 ...

  9. [转载] python函数isdisjoint方法_Python中的isdisjoint()函数

    参考链接: Python Set isdisjoint() 在本文中,我们将学习如何在set()数据类型上实现isdisjoint()函数.此函数检查作为参数传递的集合是否具有任何共同的元素.如果找到 ...

  10. 匿名函数自我调用_Python中的匿名函数及递归思想简析

    匿名函数 前言 上次咱们基本说了一下函数的定义及简单使用,Python中的基本函数及其常用用法简析,现在咱们整点进阶一些的.同样都是小白,咱也不知道实际需要不,但是对于函数的执行顺序以及装饰器的理解还 ...

最新文章

  1. Intellij IDEA 神器那些让人爱不释手的小技巧
  2. python configuration_Python(2.7.6) 标准日志模块 - Logging Configuration
  3. mkdir 创建多级目录_linux中的目录功能和文件文件管理
  4. SAP Spartacus如何创建自定义route页面
  5. element-ui多选框模糊搜索输入文字闪动问题
  6. LINUX 第六章 Open WebMail完全安装手册
  7. 初创公司 经营_LibreCorps指导人道主义初创公司如何运行开源方式
  8. linux连接sftp服务器,如何在Linux上配置SFTP服务器
  9. php sql中文乱码怎么解决,php显示mssql中文乱码怎么办
  10. 创建数据库是列名无效咋办_linux中sqlite3数据库的移植和使用(入门篇)
  11. 设备和驱动器中删除空白图标
  12. python填空题题库_Python题库——Python笔试填空题
  13. 制作ppt时如何使logo背景变成透明
  14. Python 股票分析快速入门
  15. 体育技术机器学习金钱和灵感的圣杯
  16. 《算法竞赛中的初等数论》(六)正文 0x60 原根(ACM / OI / MO)(二十万字符数论书)
  17. [国家地理百年纪念典藏全100集][MKV][225M/1][国英双语中字]
  18. 在设计四人抢答器中灯全亮_四路竞赛抢答器的设计
  19. Java线程池七大参数详解和配置
  20. 计算机初级职称考试试题,2016年职称计算机考试题库

热门文章

  1. java webservice原理_WebService的工作原理
  2. k-means聚类算法原理简析
  3. Latex:IEEE Trans期刊Latex模板下载
  4. C语言版数据结构计算顺序表中X的个数,设计算法。数据结构课后习题,定义顺序表,查找顺序表中X元素的个数。
  5. suse linux 11 sp3 的安装
  6. android原生桌面,谷歌官方出品的安卓原生桌面App 轻松干掉你手机上臃肿的的桌面!...
  7. 虚拟机网卡和linux bridge上tap设备的关系
  8. windows下用linux系统,如何在Windows下使用Linux操作系统
  9. bt5重启网卡命令_BT5找不到无线网卡怎么处理
  10. 国内外开源sns源码大全