python3 __mian和__name__的区别
1、新建 test.py 模块:
- def GetModuleName():
- print('__name__ = ', __name__)
- def PrintName():
- print('PrintName:', 'Andy')
- if __name__ == '__main__':
- GetModuleName()
- PrintName()
运行结果:
- __name__ = __main__
- PrintName: Andy
2、新建 Demo.py 模块
- import test
- def Demo():
- print('__name__ = ',__name__)
- if __name__ == '__main__':
- Demo()
- print('test.py __name__ = ',test.__name__)
输出:
- __name__ = __main__
- test.py __name__ = test
总结:
1、__name__是一个系统变量,用来标识模块的名字。
2、__name__ == '__main__'的意思:
a) 当 python 文件被直接运行的时候,__name__的值为’__main__’ ,
if __name__ == '__main__' 之下的代码将被运行。
b) 当 python 文件以模块形式被导入时,__name__的值为该模块名字
if __name__ == '__main__' 之下的代码块不被运行。
通过这个特性可以在if语句里面添加测试代码,可以提高减少bug,提高程序的可行性。
python3 __mian和__name__的区别的更多相关文章
- range()函数在python3与python2中的区别
range()函数在python3与python2中的区别 - CSDN博客 https://blog.csdn.net/weixin_37579123/article/details/8098038 ...
- Python3.x 和Python2.x 区别
1.性能Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可以取得很好的优化结果.Py3.1性能比Py2.5慢 ...
- python3.x与2.x区别
1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%.Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可 以取得很好的优化结果. Py3.1性能比Py2 ...
- Python3:if __name__ == '__main__' 详解
一般在风格比较好的代码中会有一行if __name__ == '__main__' :代码,这里说明一下这句代码的用处,先上两个代码test1.py和test2.py: # test1.py prin ...
- python2与python3的input函数的区别
Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型. Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获 ...
- Python2.X和Python3.X中的urllib区别
Urllib是Python提供的一个用于操作URL的模块,在Python2.X中,有Urllib库,也有Urllib2库,在Python3.X中Urllib2合并到了Urllib中,我们爬取网页的时候 ...
- Python3基础 函数 __name__ 得到引用所指向的真正名字
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- python2和python3中TestSuite().addTest的区别
Python2中unittest.TestSuite().addTest()的参数是这样的:unittest.TestSuite().addTest(TestFun("test_nam&qu ...
- Python3中 if __name__=='__main__'是个什么意思
在python前期学习中或者在学flask中,if_name_ = ="_main_"经常出现在我们的眼帘中,我们经常会问,这个是个什么玩意儿,它是干什么的? 我们知道,if 语句 ...
随机推荐
- RT-Thread--内核基础
内核介绍 内核处于硬件层之上,内核部分包括内核库.实时内核实现. 实时内核的实现包括:对象管理.线程管理及调度器.线程间通信管理.时钟管理及内存管理等等,内核最小的资源占用情况是 3KB ROM,1. ...
- webpack中typeScript的打包配置
2018年typescript发展的非常好,js是一门非常灵活的语言,所以一个功能,怎么写都能够写出来,但是这也会导致一个问题,不同人写js的方式不同,那么会导致同一个功能出现的代码风格会迥然不同.这 ...
- 牛客练习赛48 A· 小w的a+b问题 (贪心,构造,二进制)
牛客练习赛48 A· 小w的a+b问题 链接:https://ac.nowcoder.com/acm/contest/923/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C ...
- iView的tree组件实现单选功能
iView中的树组件有复选框可以多选,但是目前还没有提供单选框的模式,不显示复选框可以提供高亮单选的模式,但是再次点击就被取消了,没有实现真正的单选: tree 的属性配置中 multiple 是否支 ...
- 02C#操作rabbitmq
以前用过memcacheq.msmq.redis的list做队列,在用memcacheq的时候,还是在linux下,当然这个不是我安装的,我只是用c#操作而已,从那以后对队列处理并发能力有了新的认识, ...
- uniq cut wc 命令详解
uniq uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用.也就是说,为了使uniq起作用,所有的重复行必须是相邻的. uniq语法 [root@www ~]# uniq [ ...
- 使用 EasyExcel 读取Excel(两种方式)
引入 jar 包 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel&l ...
- Mybatis各种查询
实体Emp private int empno; private String ename; private String job; private Integer mgr; private Date ...
- tomcat——Server.xml
本机tomcat位置:D:\tomcat7\apache-tomcat-7.0.61 server.xml 位置:D:\tomcat7\apache-tomcat-7.0.61\conf 注意:ser ...
- MyBankgon功能
.帐户类 User 复制代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...