一个python文件通常有两种使用方法,
第一是作为脚本直接执行。
第二是 import 到其它的 python 脚 本中被调用(模块重用)执行。
因此 if name == 'main': 的作用就是控制这两种情况执行代码的过程。

简单地说
if __name__ == '__main__'的意思是:
当 .py 文件被直接运行时,if __name__ == '__main__' 之下的代码块将被运行; 当 .py 文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。
#文件名为test_file.py
print("哈哈")
if __name__ == '__main__':
print("嘎嘎")
python test_file.py
输出结果:
哈哈
嘎嘎 把test_file.py作为模块导到其它目录
#文件名为my_file.py
import test_file
python my_file.py
输出结果:哈哈

  

Python中if name == 'main':的作用的更多相关文章

  1. Python中if __name__ == 'main' 的作用和原理

    参考网址:http://mp.weixin.qq.com/s/kxxhOQ7KB_VMwWeUENX7OQ t1.py: print('Loving Python') def main(): prin ...

  2. python 中if __name__ = '__main__' 的作用

    python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 ...

  3. python中__init__.py文件的作用

    问题 在执行models.py时,报ImportError:No module named transwarp.db的错误,但明明transwarp下就有db.py文件,路径也没有错误.真是想不通.后 ...

  4. Python中__init__.py文件的作用详解

    转自http://www.jb51.net/article/92863.htm Python中__init__.py文件的作用详解 http://www.jb51.net/article/86580. ...

  5. 转载:【学习之家】Python中__init__.py文件的作用

    Python中__init__.py文件的作用详解 Python中__init__.py文件的作用详解 来源:学习之家 作者:xuexi110 人气:357 发布时间:2016-09-29 摘要:__ ...

  6. Python中的 __name__有什么作用?最详细解读

    案例说明: Python中的模块(.py文件)在创建之初会自动加载一些内建变量,__name__就是其中之一.Python模块中通常会定义很多变量和函数,这些变量和函数相当于模块中的一个功能,模块被导 ...

  7. Python 中if __name__ == '__main__': 的作用和原理

    转自https://blog.csdn.net/weixin_42660771/article/details/84035153 1.代码的功能 一个python的文件有两种使用的方法,第一是直接作为 ...

  8. Python中的enumerate函数的作用

    enumerate函数是将一个可迭代对象中元素,按元素顺序每个增加一个索引值,将其组成一个索引序列,利用它可以同时获得索引和值,这样做的目的是为了将一个可迭代对象中元素组成一个"索引,值&q ...

  9. Python中的文档字符串作用

    文档字符串是使用一对三个单引号 ''' 或者一对三个双引号 """来包围且没有赋值给变量的一段文字说明(如果是单行且本身不含引号,也可以是单引号和双引号), 它在代码执行 ...

随机推荐

  1. Tree Recovery UVA - 536

    Little Valentine liked playing with binary trees very much. Her favorite game was constructing rando ...

  2. Mysql通配符的使用

    通配符的分类:%百分号通配符: 匹配任意字符,包括0个到多个_下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符.    escape:用来转义特定字符 [字符列]  :字符列中任何一个 ...

  3. 【C】EM卡韦根32/24格式卡号转换的实现

    写在前面 第八周实验报告的deadline马上就要到了,大家都在奋笔疾书.这次的实验报告中有一个十分秃然的任务,要求学生用C语言编写一段代码,来处理编码问题. 我的ddl是在第七周,所以较早地解决了这 ...

  4. ES系列(三):网络通信模块解析

    ES是一个分布式搜索引擎,其除了用户提供必要的通信服务外,集群间也必须保持紧密的通信联系,才能在必要的时候给出正确的结果.其则必然涉及到各种繁多且要求高的通信场景,那么如何实现高性能的通信,则是其必须 ...

  5. 1027 Colors in Mars

    People in Mars represent the colors in their computers in a similar way as the Earth people. That is ...

  6. prometheus+grafana监控mysql最佳实践

    导航 前言 环境准备 安装Docker 安装prometheus 安装mysqld_exporter prometheus采集数据 安装grafana grafana配置数据源 感谢您的阅读,预计阅读 ...

  7. DonkeyID---php扩展-64位自增ID生成器

    ##原理 参考Twitter-Snowflake 算法,扩展了其中的细节.具体组成如下图: 如图所示,64bits 咱们分成了4个部分. 毫秒级的时间戳,有42个bit.能够使用139年,从1970年 ...

  8. Tomcat容器、JSP和Servlet

    目录 JSP Tomcat.JSP和Servlet JSP JSP全名为Java Server Pages,其根本是一个简化的Servlet设计.JSP技术有点类似ASP技术,它是在传统的HTML网页 ...

  9. C#-FTP

    /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo">需要上传的文件 ...

  10. 【java--反射】注解(反射解析注解+注解应用)

    创建实体类 package cn.com.codingce.iocannotation; /** * @Author: Jiangjun * @Date: 2019/10/7 9:54 */ publ ...