python程序入口
if name == ‘main’:用法
转载:https://www.cnblogs.com/liruilong/p/12867590.html
if name == ‘main’:的作用
一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。
因此 if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,
在 if name == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的。举例说明如下:
直接执行
直接执行 test.py,结果如下图,可以成功 print 两行字符串。即,if name==“main”: 语句之前和之后的代码都被执行。
import 执行
然后在同一文件夹新建名称为 import_test.py 的脚本,输入如下代码:
执行 import_test.py 脚本,输出结果如下:
只输出了第一行字符串。即,if name==“main”: 之前的语句被执行,之后的没有被执行。
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 打印出来。文件内容和结果如下:
可以看出,此时变量__name__的值为"main"。
再执行 import_test.py,执行结果如下:
此时,test.py中的__name__变量值为 test,不满足 name==“main” 的条件,因此,无法执行其后的代码。
python程序入口相关推荐
- 成功解决python.exe 无法找到程序入口 无法定位程序输入点
成功解决python.exe 无法找到程序入口 无法定位程序输入点 导读:此文为博主编写代码过程笔记. 目录 解决问题 解决方法 参考网友推荐答案 第一位网友的建议 第二位网友的建议 相关文章:成功解 ...
- python的程序入口地址_第一个Python程序
在写代码之前,请千万不要用"复制"-"粘贴"把代码从页面粘贴到你自己的电脑上.写程序也讲究一个感觉,你需要一个字母一个字母地把代码自己敲进去,在敲代码的过程中, ...
- python语言是编译型语言-Python程序的执行过程原理(解释型语言和编译型语言)...
Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是Python是一门解释型语言,我就这样一直相信下去,直到发现.pyc文件的存在,如果真是解释型语言,那么生成的 ...
- python编程语法-Python学习笔记(Ⅰ)——Python程序结构与基础语法
作为微软的粉丝,最后终于向Python低头了,拖了两三个月终于下定决心学习Python了.不过由于之前受到C/C#等语言影响的思维定式,前期有些东西理解起来还是很费了些功夫的. 零.先抄书: 1.Py ...
- python程序只能使用源代码进行运行吗-谈谈 Python 程序的运行原理
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,谈谈 Python 程序的运行原理 这篇文章准确说是『Python 源码剖析』的 ...
- Python学习笔记(Ⅰ)——Python程序结构与基础语法
作为微软的粉丝,最后终于向Python低头了,拖了两三个月终于下定决心学习Python了.不过由于之前受到C/C#等语言影响的思维定式,前期有些东西理解起来还是很费了些功夫的. 零.先抄书: 1.Py ...
- 谈谈 Python 程序的运行原理
谈谈 Python 程序的运行原理 这篇文章准确说是『Python 源码剖析』的读书笔记,整理完之后才发现很长,那就将就看吧. 1. 简单的例子 先从一个简单的例子说起,包含了两个文件 foo.py ...
- 利用pyinstaller打包Python程序为一个可执行文件
有时,Python发布的程序需要被打包为一个文件夹.甚至一个文件发布.目前(2020)最佳的策略是使用pyinstaller. pyinstaller不仅支持打包整个运行环境到一个可执行文件,而且还支 ...
- 手工将python程序发布为exe执行程序 [转]
1. 手动制作python的exe可执行程序Python没有内建一个编译为exe的功能.给python程序的部署带来不少的麻烦.所以就会出现一些py2exe之类的很不错的工具,用于自动把.py文件编译 ...
最新文章
- 追溯XLNet的前世今生:从Transformer到XLNet
- ASP.NET页面进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
- 非常好的bert中文预训练资料
- [芦半山]Binder的异常机制
- vue弹出层滑动禁止背景跟着滑动_vue移动端弹起蒙层滑动禁止底部滑动操作
- 【学习笔记】深入理解js原型和闭包(9)—— 简述【执行上下文】下
- ORACLE修改表信息
- ADB命令和Monkey命令
- the little schemer 笔记(8)
- 2019年4月27号,下雨杂谈
- Python零基础之selenium
- 知道打印机的IP地址,win10怎样连接打印机?
- 移动SEO优化指南(附百度内部移动化培训课程)
- android 进退分屏代码策略,Android的分屏模式开发注意事项
- Java设计模式之——策略模式(Strategy)
- Ubuntu16.04系统迁移SSD
- mac 我用Mac的这一年
- python图像处理:全景图片转鱼眼图片(鱼眼矫正)
- 谷传民对战大衣哥,和合国际收购《火火的情怀》后孟文豪新曲上线
- 7-1 重要的话说三遍 (5 分)
热门文章
- 云计算原来是IT界工资最高的
- 金融工程知识学习——限价单、止损单、市价单
- 关于思科模拟器7.3.1无法显示登陆窗口的解决方案
- 3、中小企业网络架构-接入层交换机基本配置
- phpcms选择文件无法加载插件怎么办_win7系统下浏览器显示无法加载插件如何解决...
- python开发数据库_有没有利用python开发数据库的案例
- 游戏制作之路(1)Blender下载
- ESSENTIAL C++ 读书笔记
- 4.11 数值分析: 求重根/带参数m的牛顿迭代法
- php爆路径与sql注入,人人网游戏XSS+SQL注入+爆路径+列目录,员工信息大量泄漏