Python中if __name__ == "__main__": 的作用

4人阅读 评论(0) 收藏 举报
分类:

在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句。那添加这个判断的目的何在?

在python编译器读取源文件的时候会执行它找到的所有代码,而在执行之前会根据当前运行的模块是否为主程序而定义变量__name__的值为__main__还是模块名。因此,该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块。这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命令,只要将它们放到if __name__ == "__main__:"判断语句之后就可以了。

具体举个栗子方便理解:

# file one.py
def func():
    print("func() in one.py")

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

if __name__ == "__main__":
    print("one.py is being run directly")
else:
    print("one.py is being imported into another module")
# file two.py
import one        # start executing one.py

print("top-level in two.py")
one.func()

if __name__ == "__main__":
    print("two.py is being run directly")
else:
    print("two.py is being imported into another module")

当运行python one.py,输出:

top-level in one.py
one.py is being run directly

当运行python two.py,输出:

top-level in one.py
one.py is being imported into another module
top-level in one.py
func() in one.py
two.py is being run directly


查看评论

python __main__

  • 2015年09月23日 16:01
  • 14KB
  • 下载

Python中if __name__ == "__main__"是什么作用

python文件的后缀名是.py,python文件既可以用来直接执行,也可以作为模块被导入。 我们在使用python时经常会看到if name == ‘main‘:这样一个句子,这是什么呢? ...
  • sinat_15274667
  • sinat_15274667
  • 2016-05-11 22:27:20
  • 7865

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

1. 摘要通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明');在你自己眼中,你是你自己(__name__ == '__...
  • yjk13703623757
  • yjk13703623757
  • 2017-09-09 22:35:42
  • 9041

python 中 if __name__ == "__main__" 的理解

1. python 中模块的__name__ 属性
  • caoshuming_500
  • caoshuming_500
  • 2014-10-04 13:08:52
  • 4354

python中 if __name__ == '__main__' 如何正确理解?

在Python,我们经常会编写 if __name__ == '__main__' 这么一段代码,这段代码该怎么来理解? 这段代码的功能理解如下: 一个python的文件有两种使用的方法: ...
  • youzhouliu
  • youzhouliu
  • 2016-12-26 11:25:33
  • 3942

PYTHON里if __name__ == "__main__":解释

DSP_login_class.py from selenium import webdriver from time import * from selenium.common.exceptions...
  • JOJOY_tester
  • JOJOY_tester
  • 2016-12-23 23:10:10
  • 1015

关于python中if __name__=='__main__'的含义

在python中,我们经常看到在源文件的最后通常都会有这样一个语句: If __name__ == '__main__': 那么,它的作用究竟是什么呢? 比如我们定义了一个py...
  • liweibin1994
  • liweibin1994
  • 2017-06-16 21:56:19
  • 901

python中的__name__ =="__main__"是什么意思呢

__name__系统变量指示模块应如何被加载,他的值为"__main__"时表示当前模块是被直接执行。 由于主程序代码无论模块是被导入还是直接被执行都会运行,所以我们需要一种方式在运行时检测该模块是...
  • apple9005
  • apple9005
  • 2016-11-13 11:56:17
  • 1145

python if __name__ == '__main__':(有例子就是好理解)

很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
  • qq_27231343
  • qq_27231343
  • 2016-04-18 22:37:58
  • 1099

Python中if __name__ == '__main__' 的用法

Python中if name == ‘main’ 的用法当脚本通过命令的形式给出python myscript.py所有在0层缩进(indentation level )的代码将会执行,class和f...
  • u012323318
  • u012323318
  • 2017-12-17 22:20:46
  • 75
    个人资料
    等级:
    访问量: 5331
    积分: 296
    排名: 26万+
    文章存档