魔力Python--if __name__ == '__main__' 的理解
if __name__ == '__main__' 的理解
__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。
这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。
#practice.py
import cc
print('引用cc')
cc.cc()
print('程序结束!')
其中,cc.py为
def cc():
print('调用cc了')
print('先输出哪个?')
此时结果为:
先输出哪个?
引用cc
调用cc了
程序结束!
然而,实际上我们可能不想输出'先输出哪个?'这句话的.
或许这时候要尝试直接调用函数?没卵用,只是改名字罢了.
from cc import cc
print('引用cc')
cc()
print('程序结束!')
输出的结果也是如此:
结果:
先输出哪个?
引用cc
调用cc了
程序结束!
此时,将cc.py修改即可
def cc():
print('调用cc了')
if __name__ == '__main__':
print('先输出哪个?')
此时调用
from cc import cc
print('引用cc')
cc()
print('程序结束!')
结果如下:
引用cc
调用cc了
程序结束!
所以明白if __name__ = '__main__'的作用,即在外部调用可不输出子进程的东西,在自身内部调用可正常输出,起一个判断作用.
记住,在Windows里面,把所有子进程的所有操作都扔到
if __name__ = '__main__'
这句话下面. Linux和Mac不需要. PS:关于上面的快捷操作,输入main回车即可快速打出
if __name__ = '__main__'
转自:https://blog.csdn.net/wrh_csdn/article/details/80534654
https://blog.csdn.net/qq_27017791/article/details/80212016
魔力Python--if __name__ == '__main__' 的理解的更多相关文章
- python if __name__=='__main__'的理解
定义一个模块叫module.py: def main(): print "we are in %s" %__name__ if __name__=='__main__': main ...
- 对于python的__name__="__main__"的含义的理解
学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main ...
- 理解 python 中__name__ = '__main__' 的作用
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
- 浅析python 中__name__ = '__main__' 的作用
引用http://www.jb51.net/article/51892.htm 很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码 ...
- 【转】浅析python 中__name__ = '__main__' 的作用
原文链接:http://www.jb51.net/article/51892.htm 举例说明解释的非常清楚,应该是看到的类似博文里面最简单的一篇: 这篇文章主要介绍了python 中__name__ ...
- 002_浅析python 中__name__ = '__main__' 的作用
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
- python的__name__ == \'__main__\' 意义
转自http://www.jb51.net/article/51892.htm 很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码 ...
- Python中if __name__ == "__main__": 的理解
1.在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在pytho ...
- Python中if __name__ = "__main__"的理解
通俗的理解__name__ ="__main__"的意思就是:当.py文件被直接运行时,if __name__ = "__main__"之下的代码快将被运行:当 ...
随机推荐
- Linux下RabbitMQ的安装 开机自启动
1.官网下载地址 下载 RabbitMQ 和 erlang.我下载的是rabbitmq-server-3.6.10-1.el7.noarch.rpm和erlang-19.0.4-1.el7.cento ...
- C# .NET newtonsoft.json 多版本冲突解决
A.DLL 引用了6.0 的 newtonsoft.json (V2 运行时),B.DLL 引用了10.0 的 newtonsoft.json (V4 运行时). 可以在.CONFIG RUNTIM ...
- iOS业务模块化利用CocoaPod入门实践
iOS业务模块化即是通过不同的工程管理不同的业务,通常应用在中大型项目中,这样做的好处主要有:1.多人开发时,防止工程文件冲突 2.能够为下个不同的项目抽取代码,话不多说,直接看步骤:括号内容为本例 ...
- selenium 目录结构解释
common目录 定义了通用的异常类 webdriver目录 android.backberry.chrome.edge.firefox.ie.opera.phantomjs.safa ...
- 7.6 chcount.c -- 使用逻辑与运算符
include <stdio.h> #define PERIOD '.' int main(void) { char ch; int charcount = 0; while ((ch = ...
- nvidia驱动自动更新版本后问题解决 -- failed to initialize nvml: driver/library version mismatch
因为必须关闭桌面窗口, 建议另外一台电脑ssh连接操作 1. 卸载旧版本并关闭图形界面 sudo apt-get remove --purge nvidia-\* sudo service light ...
- 按固定元素数目分割数组- perl,python
要求:把40个元素的数组,按每行8个,分5行打印出来.如下图 1 2 3 4 5 6 7 89 10 11 12 13 14 15 1617 18 19 20 21 22 23 2425 26 27 ...
- DP基础练习(4.21)
数塔 Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? ...
- mybatis的plugin
1.Mybatis-Plugin的设计思路 听起来一个挺神奇的单词,插件.说白了就是使用了Jdk自带的动态代理.在需要的时候进行代理.AOP怎么用,他就怎么用. Plugin类等价于Invocatio ...
- java常见报错及解决
Java常见报错信息: Java 常见异常种类 Java Exception: 1.Error 2.Runtime Exception 运行时异常 3.Exception 4.throw 用户自定 ...