52°

Python3里面__name__和__main__的作用

在python的代码里我们经常会看到这样两个片段,__name__和__main__那么代表什么意思呢?

在这之前,我们先来了解下python文件的调用方法,主要有两种
1,直接在cmd或shell终端调用xxx.py文件
2,导入别的python文件里做为一个工具类调用

懂了上面这两个方式后,我们在理解这两个属性的作用就好理解了,其实__name__是每个模块或类里面的内置属性,__main__代表直接运行这个py文件时的标记,如果不是__main__那就说明,这个py文件,是导入到别的python代码里,昨晚工具类使用的,下面看散仙写如下的例子:
这个是测试的python文件b.py代码

    def say():  
        print("say")  
def b():  
    print("B")  
  
def c():  
    print("C")  
  
  
def d():  
    print("D")  
  
  
  
if __name__=="__main__":  
    print("我是直接运行的")  
    b();  
else:  
    print("不是直接运行!")  
  
  
if __name__=="b":  
    print("导入模块调用了")  
else:  
    print("其他模块")  </code></pre> 

直接运行 

F:\pythonproject\venv\Scripts\python.exe F:/pythonproject/Python/code/test/b.py
我是直接运行的
B
其他模块

--------------------------------------------------------------------------

其他模块导入

demo.py

import b

运行结果

F:\pythonproject\venv\Scripts\python.exe F:/pythonproject/Python/code/test/demo2.py
不是直接运行!
导入模块调用了

本文由【c】发布于开源中国,原文链接:https://my.oschina.net/hongjiang/blog/3159865

全部评论: 0

    我有话说: