Python程序中:“if __name__ == '_

2018-04-27  本文已影响51人  彼岸的渔夫

人生苦短,我用Python

环境:Windows 10 64-bit, python == 3.6.4 , PyCharm CE == 2018.1
声明:学习资源均来自于网络,来源比较多,均不给出链接,这里是自己学习笔记汇总,每篇内容会随着学习的深入进行更新


在很多Python程序的最后部分,经常会出现if __name__ == '__main__':这样的判断语句,并且还会执行一些代码:例如,

#module.py
def main():
    print('we are in %s' % __name__)

if __name__ == '__main__':
    main()

那么,这条语句的作用是什么呢?

“Make a script both importable and executable”
意思就是说,让你写的脚本既可以作为模块导入到别的模块中用,也可以自己作为.py文件执行。

在上面的例子中,

we are in __main__

此时,当前执行的文件是主模块,属性__name__的值就是__main__

we are in module

此时的属性__name__的值就是被引入的模块名称module

总结:

  1. 如果是直接执行某个.py文件的时候,该文件中那么__name__ == '__main__'Trueif条件下的代码块将被执行。
    这个功能可以用来调试代码,将测试代码块放在if条件下
  2. 如果是从另外一个.py文件通过import导入该文件的时候,这时__name__的值就是这个.py文件的名字而不是__main__if条件下的代码块将不会被执行。
上一篇下一篇

猜你喜欢

热点阅读