Python学习之路(__name__ == '__main__'的理解白话文)

创建一个testModule.py:

 # 测试模块

def test(a, b):
    return a+b
if __name__ == '__main__':
    print('我是主程序入口')
    print('testmodule print :', test(3, 5)) 
else: 
    print('我是被当作模块被引入的')

# print('testmodule print :', test(3, 5)) 

启动cmd到当前目录:

PS F:\pythonpractice> python testModule.py
我是主程序入口
testmodule print : 8

创建一个demo.py 用于引入testModule模块: 看看会发生什么?

# 使用模块
import testModule

print(testModule.__name__)

print('demo print:', testModule.test(30, 50))

启动cmd到当前目录:(注意 testModule.py 和 demo.py 在同级目录下,不要因为路径问题 而卡住了哈)

PS F:\pythonpractice> python demo.py
我是被当作模块被引入的
testModule
demo print: 80

小结:(总结得不到位,请见谅)
name == 'main': 如果为True 则说明 主程序自己在运行 什么是主程序正在运行? 意思就是 你在cmd中 直接运行的是python testModule.py 或者是以testModule.py作为入口程序
自行测试 python testModule.py
如果为False,则说明 当前.py文件 是以模块形式被别的.py文件引用 , 那么他就不是主程序入口,所以 name == 'main'结果为False,则不会执行

平时测试的时候 我们可以先注释掉 if __name == 'main':
因为 那样 当前模块也会执行 ,引入模块的文件也会执行,如果有问题 则可以看见是模块有问题还是你执行代码或者你写的代码有问题

关注一波!喜欢一波!本人是前端菜鸟,正在做自己的个人博客邓鹏的博客,欢迎来交流学习, 使用的技术 vue + koa2 + mysql + php + nginx!

推荐阅读更多精彩内容