if name == ‘main’:的作用

一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,在if name == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的。举例说明如下:

直接执行

在 test.py 中写入如下代码:

test文件

直接执行 test.py,结果如下图,可以成功 print 两行字符串。即,if name==“main”: 语句之前和之后的代码都被执行。

直接作为脚本执行

import 执行

然后在同一文件夹新建名称为 import_test.py 的脚本,输入如下代码:

import_test文件

执行import_test.py 脚本,输出结果如下:

作为模块import执行

只输出了第一行字符串。即,if name==“main”: 之前的语句被执行,之后的没有被执行。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

if name == ‘main’:的运行原理

每个python模块(python文件,也就是此处的 test.py 和 import_test.py)都包含内置的变量 name,当该模块被直接执行的时候,name 等于文件名(包含后缀 .py );如果该模块 import 到其他模块中,则该模块的 name 等于模块名称(不包含后缀.py)。

而“main” 始终指当前执行模块的名称(包含后缀.py)。进而当模块被直接执行时,name == ‘main’ 结果为真。

为了进一步说明,我们在 test.py 脚本的 if name==“main”: 之前加入 print(name),即将 name 打印出来。文件内容和结果如下:

test.py文件

直接执行结果

可以看出,此时变量__name__的值为"main"。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

再执行 import_test.py,执行结果如下:

作为模块import执行结果

此时,test.py中的__name__变量值为 test,不满足 name==“main” 的条件,因此,无法执行其后的代码。

Python中if name main的作用相关推荐

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

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

  2. python的用途实例-python中pass语句意义与作用(实例分析)

    想必大家都是刚刚才开始接触python这门语言的,今天这篇文章就来带大家来了解一下python这门语言之中常常会用到的一个语句pass语句.想必大家都很好奇python中pass作用是什么,接下来我就 ...

  3. python if else语句例子,python 中if else 语句的作用及示例代码

    引入:if-else的作用,满足一个条件做什么,否则做什么. if-else语句语法结构 if 判断条件: 要执行的代码 else: 要执行的代码 判断条件:一般为关系表达式或bool类型的值 执行过 ...

  4. Python中__init__方法有什么作用

    Python中__init__方法有什么作用 当使用类名()的方法去创建对象的时候 python解释器会自动调用__init__方法 因此可以在__init__方法中做一些初始化的设定 在每次创建新对 ...

  5. python中文件读写位置的作用-python配置文件的读写

    1. 配置文件configuration file python中的配置文件有.conf..ini..cfg..txt等多种,其中.ini最常见 .ini文件是Initialization File的 ...

  6. python中双冒号[::]切片的作用

    如:a=[1,2,3.4,5] 我们写:print(a[x:y:z])时,x表示切片起点,y表示切片终点,z表示步长.如果不指定x和y,则默认开始和最后(-1倒序除外),如果不指定z,则默认步长为1. ...

  7. python中int函数是什么作用_python中int函数怎么用

    python中int函数怎么用,字符串,函数,数字,出现在,赋值 python中int函数怎么用 易采站长站,站长之家为您整理了python中int函数怎么用的相关内容. int() 函数用于将一个字 ...

  8. python中int函数是什么作用_【后端开发】python中int函数怎么用

    int() 函数用于将一个字符串会数字转换为整型.接下来通过本文给大家介绍python 中的int()函数的相关知识,感兴趣的朋友一起看看吧 int(x, [base]) 功能: 函数的作用是将一个数 ...

  9. python中split,rsplit与splitlines作用

    split,rsplit与splitlines作用 0 前言 1 split 2 rsplit 3 splitlines 0 前言 在编程的过程中,字符串是我们最常打交道的数据类型,对字符串进行切分也 ...

最新文章

  1. Linux 命令 查看监听端口
  2. 软件工程实践2017结对作业
  3. Linux下shell脚本指定程序运行时长
  4. 关于mysql的一些时间格式和字符的问题
  5. 韩顺平php视频笔记69 静态变量与静态方法
  6. 扎克伯格、张一鸣的技术“原罪”
  7. python json转xml_Python中xml和json格式相互转换操作示例
  8. centos 6.5 安装mysql rpm_centos6.5 rpm 安装mysql5.6
  9. python中支持双向索引的有哪些_解决Python中展示tkinter不支持的图片格式
  10. Mac安装使用kettle
  11. Javaweb面试题整理
  12. 来来来!docker清华源
  13. Linux内核中常见内存分配函数
  14. 人生的,爱情,友情,亲情之间的关系!
  15. 在evaluate用到coco-caption时出现subprocess无法创建的错误
  16. python教程40-财务自动生成财务报表
  17. java中斜杠/和反斜杠\
  18. android fuse 检测原理,fuse 原理总结
  19. C#mdi 建立多窗口
  20. 坐标反算c语言程序,道路坐标正反算无限个拐点计算器测量程序(新20070825)

热门文章

  1. sql批量插入数据mysql_MYSQL批量插入数据库实现语句性能分析
  2. list遍历_Qt 容器类之遍历器和隐式数据共享
  3. python中返回值为ture表达式_python return逻辑判断表达式(21)|python教程|python入门|python教程...
  4. kali安装docker和portainer
  5. php点击按钮跳转页面heeader,php - 通过FPDF生成后插入水印并打印PDF - SO中文参考 - www.soinside.com...
  6. 专利翻译常用计算机词汇,基于NP树的英文专利文献术语自动翻译技术研究-计算机应用技术专业论文.docx...
  7. open函数返回-1_记录学习python的第3天-递归函数/文件操作
  8. 计算机病毒中毒该怎么办,电脑中毒后该怎么杀毒呢?
  9. 图像处理自相关函数c语言,图像处理实验书.docx
  10. java数字分割的下划线_Java-数值中使用下划线进行分隔