name = '__main__' 的作用

有句话经典的概括了这段代码的意义:

“Make a script both importable and executable”

意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行。

def foo():

print('in foo')

print(__name__)

foo()

if __name__=='__main__':

foo()

返回结果

main   意思是__name__=__main,所以if语句判断True。

ob05.py

def func():

print("func() in ob05.py")

print("top-level in ob05.py")

if name == "__main__":

print("ob05.py is being run directly")

else:

print("ob05.py is being imported into another module")

结果:

top-level in ob05.py

ob05.py is being run directly

ob06.py

import ob05

print("top-level in ob06.py")

ob05.func()

if name == "__main__":

print("ob06.py is being run directly")

else:

print("ob06.py is being imported into another module")

结果:

top-level in ob05.py

ob05.py is being imported into another module

top-level in ob06.py

func() in ob05.py

ob06.py is being run directly

Thus, when module one gets loaded, its name equals "one" instead of __main__.

意思是ob05模块被导入的话,ob05模块中的__name__=__main__

解释错或不对不完善 麻烦完善下

那import是干嘛用呢,就引入了一个func()?name == "__main__" 是什么意思 起什么作用

三个python文件怎么关联___name__= __main__怎么解释 怎么用 另外两个py文件之间的互动关联...相关推荐

  1. pycharm中两个.py文件相互调用和传递参数

    在编写比较大的程序或团队协同工作时,常常会用到两个.py程序之间的相互调用和传递参数,我把自己理解的一个方法写一下. 首先要求pycharm已经安装了sys库,已知sys.argv是传递参数的核心. ...

  2. python文件打包成exe是 upx不可用、找不到py文件_使用PyInstaller将Python程序打包成一个单独的exe文件...

    1. 安装步骤略过 网上教程多 2. 用cmd进入PyInstaller的目录 然后执行以下命令: python pyinstaller.py -F C:\test.py 以上命令需要把Python目 ...

  3. python下载文件损坏_pythonw.exe停止工作,无法运行IDLE或任何.py文件 - python

    此问题与任何代码都不完全相同.我认为我的安装(python 3.3.5)以某种方式损坏.我尝试了卸载和重新安装以及修复,但是没有任何效果.自从我上次运行任何python代码或进行涉及python的操作 ...

  4. python - 安装pyqt5模块,PyCharm配置QtDesigner/Pyuic/Pyrcc,ui转py文件,图片转ico/icns格式,pyinstaller/py2app打包代码

    window配置Python+PyQt5+QtDesigner+PyUic+PyRcc(最全安装教程):https://blog.csdn.net/baidu_35145586/article/det ...

  5. sequelize模型关联_Sequelize 中文API文档-3. 模型(表)之间的关系/关联

    模型(Model)之间存在各种各样的关系,如:一对一(One-To-One ).一对多(One-To-Many)等.模型间的关系本质上是对其代表的数据库中表之间的关系描述,通过这些关系可以实现数据库中 ...

  6. php红白黑三球_)在一个PPT演示文稿的一页幻灯片中,有两个图片文件,其中图片1把图片2覆盖住了,若要设置为图片2覆盖住图片1,以下最优的操作方法是( )...

    [判断题]秋季腹泻时最常见的病毒为轮状病毒. [单选题]我们既不能厚古薄今,又不能崇洋媚外,要"古为今用"."洋为中用",这符合唯物辩证法的( ). [简答题] ...

  7. ie浏览器导入html文件在哪,IE浏览器收藏夹的备份与恢复的两种方法(文件复制与导入和导出)...

    方法一:使用收藏文件复制方法直接复制收藏夹 收藏夹位于C:\documents and settings\%username%\favorites文件夹中,将此文件夹复制到非系统(其他盘)分区中,重新 ...

  8. python程序设计报告-20183215 实验三《Python程序设计》实验报告

    20183215 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1832 姓名: 董振龙 学号: 20183215 实验教 ...

  9. python中if __name__ == __main__的解释

    想必很多初次接触python的同学都会见到这样一个语句,if __name__ == "__main__": 那么这个语句到底是做什么用的呢?在解释之前,你一定要知道的是: 1.p ...

最新文章

  1. 无法在数据库 'ycmis2' 中运行 BEGIN TRANSACTION,因为该数据库处于回避恢复模式。...
  2. JDK自带的实用工具native2ascii.exe
  3. 和方舟rust一样的手游_三大高人气手游盘点,《方舟:生存进化》的世界靠支配恐龙来生存...
  4. 网站免费空间和服务器的区别,网站空间和服务器的区别
  5. php7的核心开发者,php7 五大新特性
  6. ADC芯片CS1242用在电子秤单片机上面
  7. Java实现附近地点搜索
  8. Windows电脑端有什么好用的便签工具?
  9. android调用虚拟摄像头方法,Android设备虚拟摄像头技术实现
  10. 中国SaaS驶入「2.0时代」
  11. 解决Mac系统更新后,SVN无法使用的问题
  12. Microsoft Office 2013 word MathType 报错 (MathPage.wll)
  13. 揭开WebDriver面纱
  14. C语言报错:a label can only be part of a statement and a declaration is not a statement
  15. iphone 检测屏幕触摸事件
  16. 高新企业认定后的条件
  17. VLAN 基础实验2:VLAN 应用Hybird接口
  18. 详细详解One Hot编码-附代码
  19. 【MySQL】格式化时间戳以及时间格式
  20. 绘制简单封闭图形并且进行填充

热门文章

  1. Sublime Text 2报“Decode error - output not utf-8”错误的解决办法
  2. ecshop php5.4以上版本错误之preg_replace 替换成 preg_replace_callback
  3. nrf52832 DFU详细步骤 SDK13
  4. R语言:na.fail和na.omit
  5. Bitcoin 中的挖矿算法(2) 难度值说明
  6. 《研磨设计模式》chap5 单例模式singleton
  7. C++ Primer 5th笔记(7)chapter7 类:字面值常量类
  8. [hypervisor]-ARMV8的hypervisor技术介绍–InProgress
  9. Vue如何获取当前时间
  10. Cheat Engine教程关卡密码