__name__和__main__的使用

#hello.py
def sayHello():
str="hello"
print(str); if __name__ == "__main__":
print ('This is main of module "hello.py"')
sayHello() 这样本身调用会执行所有,以下是执行结果,if __name__ == "__main__"是作为一种测试,调用顶层程序代码做内部单元测试。__name__其实就是本身文件,__main__作为主函数入口。 This is main of module "hello.py"
hello

如果这个hello.py被其他.py的文件调用,只会执行这个sayHello()函数,而不会执行print这个语法。这个时候的__name__其实就是modul(函数sayHello())本身,也就是调用hello.sayHello()
>>> import hello
>>> hello.__name__
'hello'
>>>

python __name__ 和__main__的使用领悟的更多相关文章

  1. Python中的__name__和__main__含义详解

    1背景 在写Python代码和看Python代码时,我们常常可以看到这样的代码: ? 1 2 3 4 5 def main():     ......   if __name == "__m ...

  2. python __name__ == ‘__main__’详细解释(27)

    学习过C语言或者Java语言的盆友应该都知道程序运行必然有主程序入口main函数,而python却不同,即便没有主程序入口,程序一样可以自上而下对代码块依次运行,然后python不少开源项目或者模块中 ...

  3. python某个module使用了相对引用,同时其__name__又是__main__导致的错误

    主要讲解 某个module中使用了相对引用,同时这个module的 __name__ 属性 又是 __main__ 会报错的问题 1.问题复现 文件结构很简单: |--------package | ...

  4. python __name__ 变量的含义

    python __name__ 变量的含义 if __name__ == '__main__': tf.app.run() 当python读入程序时,会初始化一些系统变量.如果当前程序是主程序,__n ...

  5. 混合用法模式 __name__和__main__

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #混合用法模式 __name__和__main__ #可把文件作为模块导入,并以独立式程序的形式运行,每个模块 ...

  6. python模块 __name=='__main__' 用法

    python模块 __name=='__main__' 用法1.ceshi_mod1.pydef test1(): print('111111')def test2(): print('2222')i ...

  7. Python中关于__main__变量的问题

    在Python代码的编写中,经常会用到这么一句: if __name__ == "__main__": .... 这句代码之前的语句在整个模块被其他文件调用的时候会被运行,而这句代 ...

  8. __name__ 和 "__main__"

    本模块名: person 调用者模块名: start import sys def funcperson(): print('我是人') print(sys.modules[__name__]) # ...

  9. python __name__ = '__main__' 的作用

    很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...

随机推荐

  1. Learning-Python【31】:操作系统基础知识

    什么是操作系统 计算机系统由硬件和软件两部分组成.操作系统(OS,Operating System)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充.它在计算机系统中占据了特别重要的地位:而其 ...

  2. css基础参考文档

    block inline-block inline区别 absolute定位详解:https://www.jianshu.com/p/a3da5e27d22b css浮动详解 float浮动 div变 ...

  3. 超简单的localStorage实现记住密码的功能

    HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 coo ...

  4. Java 中断

    https://zhuanlan.zhihu.com/p/45667127 看的似懂非懂

  5. Entity Framework框架 (二)

    一.前面一篇EF的介绍主要是通过linq语句,本篇主要是介绍一下不通过linq语句如何去操作EF执行查询sql语句与执行存储过程. 1.  其中的Acccout是输出参数对应的类.比如输出参数有三个值 ...

  6. HDU 2612 (2次BFS,有点小细节)

    Problem Description Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. L ...

  7. Promise使用

    Promise可以进行异步操作,比起回调函数,更加容易维护. 首先创建一个简单的Promise var p = new Promise( () => {}); console.log(p); / ...

  8. 【转】 RGB各种格式

      转自:https://blog.csdn.net/LG1259156776/article/details/52006457?locationNum=10&fps=1 RGB组合格式 名字 ...

  9. MongoDB 教程(七):插入文档、更新文档、删除文档

    MongoDB 插入文档 文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式 —— BSON是一种类json的二进制形式的存储格式,简称Binary JSON. MongoDB ...

  10. 1-Angular学习篇

    Angular 官方学习网站:https://angular.io 1.安装node.js 在angular主页下载node.js安装包 2.创建angular工程 Windows系统在命令窗口输入: ...