Python3.x:if __name__ == '__

作者: james_chang | 来源:发表于2018-01-30 13:21 被阅读54次

if __name__ == '__main__':
很多代码都会见到,但是更想真正的理解,网上也有很多详细的解释,这里我说一个比较简单的理解方法
在同一目录下先自己写一个简单的模块testmodule.py:

def hello():
    print('hello')

然后再写一个bin.py:

import testmoudle
testmoudle.hello()

这里我们运行bin.py发现打印了两次'hello'
这就说明import testmoudle打印了一次,testmoudle.hello()也打印了一次
这时候我们就可以用到if __name__ == '__main__'
在testmoudle.py按如下内容添加两行代码:

def hello():
    print('hello')
if __name__ == '__main__':
    hello()

这个时候我们再运行bin.py发现就打印一次'hello'了,这是为什么呢,让我们研究一下

既然是if __name__ == '__main__'那我们在testmoudle中注释掉后两行添加print(__name__)看看__name__到底是什么?

得到输出'__main__'

既然这样if条件就成立了啊,为什么添加这两行之后在bin中调用import这一行就不再输出了呢?

我们保持print(__name__)在testmoudle.py中,然后运行bin.py,这个时候应该再打印一次__name__

但是这次的输出却得到了testmoudle,将自己写的模块名打印了出来

看到这里,我想大家应该明白了一些,下面我来总结一下:

1.if __name__ == '__main__'自己调用时__name__为'__main__',条件成立,执行if语句中函数

2.if __name__ == '__main__'从别的文件调用时__name__为'调用的文件名',if条件不成立,则不执行

综上自己也能大概理解这个if __name__ == '__main__'的用法,希望能帮到你们。

转载请注明出处

python自学技术互助扣扣群:670402334

相关文章

  • Python3.x:if __name__ == '__

    if __name__ == '__main__':很多代码都会见到,但是更想真正的理解,网上也有很多详细的解释,...

  • if __name__ == '__main__'

    if __name__ == '__main__':的作用 一个python文件通常有两种使用方法,第一是作为脚本...

  • if __name__ == '__main__'

    在python的代码中经常会看到这样的情况: 一开始编程的时候觉得特别别扭,我为什么不可以直接写成: 所以我就去查...

  • if __name__ == '__main__'

    What is it ? 在Python规范的脚本代码中,会经常碰到这么一句莫名其妙的语句: 从字面意思上可以理解...

  • if __name__ == '__main__'

    python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义...

  • if __name__ == '__main__'

    程序入口 对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,以及完全面向对象的编程语言 Java,C...

  • __name__ =="__main__"

    test.py print("这是__name__:");print(__name__);if __name__ ...

  • (python)if __name__ == '__ma

    学习的python教程是Python-100-Days 在学习第6课“函数与模块的使用”时遇到了这样一道例题: #...

  • python第51课练习— __name__ 属性

    0、__name__ 属性的含义是什么? 答:所有模块都有一个 __name__ 属性,__name__ 的值取决...

  • Python中if __name__ == '__mai

    if __name__ == '__main__':的作用 一个python文件通常有两种使用方法,第一是作为脚本...

网友评论

    本文标题:Python3.x:if __name__ == '__

    本文链接:https://www.haomeiwen.com/subject/pivqzxtx.html