创建一个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!