Python 中的 if __name__ == '__main__' 该如何理解

python中所有的模块都有一个内置属性 __name__,一个模块的 __name__ 的值取决于如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个"__main__"。
  换句话讲,当你运行当前文件时,__name__=='__main__'返回真,则其后的代码会正常执行,但是当你在另一个文件import这个文件的时候,此时__name__=='__main__'返回假,则以下的代码将不会执行。作用就是if __name__ == "__main__"后的代码在本文件运行时会执行,其它地方引用时,就不执行。
示例:demo.py如下:

[Python] 纯文本查看 复制代码

?


1

2

3

4

def fn(x,y):

  return x+y

if __name__ == "__main__"

  print(fn(5,3))

当我直接运行demo.py,会输出结果为:

[Python] 纯文本查看 复制代码

?


1

8

demo01.py如下:

[Python] 纯文本查看 复制代码

?


1

import demo

而我运行demo01.py时就不会输出结果8

更多技术资讯可关注:gzitcast

Python 中的 if __name__ == '__main__' 该如何理解

原文地址:https://www.cnblogs.com/heimaguangzhou/p/11670644.html

时间: 2024-11-05 13:39:32

Python 中的 if __name__ == '__main__' 该如何理解的相关文章

【转载】Python 中的 if __name__ == '__main__' 该如何理解

转自 旷世的忧伤 http://blog.konghy.cn/2017/04/24/python-entry-program/ 程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C# 等.如果你接触过这些语言,对于程序入口这个概念应该很好理解,C 和 C++ 都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始.同样,Java 和 C# 必须要有一个包含 Main 方法的主类来作为程序入口. 而 Py

扫盲贴000---关于python中的if __name__ == '__main__'

对于python中的__name__变量,根据调用python文件的方式不同,__name__变量的值也会不同.假如我有一个名为hello_world.py的python脚本,当我的目的是直接运行这个文件"python hello_world.py"的时候,这个时候对于hello_world.py的__name__变量的值为"__main__".但是当我们把hello_world.py作为一个模块被另一个模块引入的时候"import hello_world

python中的if __name__ == '__main__' what hell is it?

python中的if __name__ == '__main__' what hell is it? python认为一切模块都可能被执行或者被import 如果一个模块是被import导入的,那么该模块的调用者可能仅仅希望使用模块的部分代码,而不是直接运行它 如果模块是直接运行的,那么像c或者java语言一样,需要一个入口main 为了解决这个问题,python约定,当模块被执行的时候,__name__的值就是__main__,否则,值为模块的名字 而if __name__ == '__mai

Python中的if __name__='__main__'语句的作用

笔者在自学Python的过程中,对于if __name__='__main__'的用法感到很困惑,在think Python一书中原作者的源代码是这么解释if __name__='__main__'语句的: # the following condition checks whether we are # running as a script, in which case run the test code, # or being imported, in which case don't.

python中的if __name__=='__main__': main()解析

python中我们会看到一段代码是这样的: 1 if __name__=='__main__': 2 main() 这段代码的什么意思,我们可以知道代码的意思是如果__name__=='__main__'为Ture,则调用main()函数 有句话经典的概括了这段代码的意义: “Make a script both importable and executable” 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. __name__的值是什么?模块是对象,并且所有的模

python3----如何简单地理解Python中的if __name__ == '__main__'

1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '__main__'). if __name__ == '__main__'的意思是:当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行:当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行. 2. 程序入口

如何快速简单粗暴地理解Python中的if __name__ == '__main__'

1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '__main__'). if __name__ == '__main__'的意思是:当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行:当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行. 2. 程序入口

如何简单地理解Python中的if __name__ == '__main__'

1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '__main__'). if __name__ == '__main__'的意思是:当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行:当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行. 2. 程序入口

如何简单理解Python中的if __name__ == '__main__':

简单概括: if __name__ == '__main__': 在模块里面用于放测试代码,因为导入模块就会执行模块的代码,但是模块的测试代码我们是不需要执行的,我们只需要模块的功能,这是就要用到if __name__ == '__main__': 当别人调用这个模块的时候if__name__就不等于"__main__"了 __name__是模块的路径了,所以if__name__是不等于__main__的,不满足条件,不执行if __name__ == '__main__':下面的代码