沈恩惠御承装饰 发表于 2023-3-31 17:21:45

关于python 的if __name__ == "__main__"的模块测试

if __name__ == "__main__"
也就是说执行当前文件,不调用模块的时候__name__=__main__
调用模块的时候,测试如下:
1、新建 test01.py 文件测试代码如下

print("这条消息来自test01")

def func():
    print('hello, world!***')
    print("这条消息来自func")

if __name__ == "__main__":
    func()<br><br>  运行结果如下:
# 这条消息来自test01
# hello, world!***
# 这条消息来自func2、新建 testo2.py 文件测试代码如下

import test01<br>
print(__name__)<br>
test01.func()


print('\n')
print('这条消息来自testo2')
print('bye, world!')
print(__name__)运行结果如下:
# 这条消息来自test01    --------------import test01 的时候输出
# __main__       --------------输出当前执行文件的__name__
# hello, world!***  --------------下面这两句调用函数test01.func()时输出<br># 这条消息来自func # # 这条消息来自testo2  -------------继续执行当前文件的代码块<br># bye, world! <br># __main__也就是说:
在 test2.py 文件中导入了 test1.py 模块使用的是语句 import test1<br>那么在执行 test2.py 文件的过程中,当执行到语句 import test1时,程序会跳转去执行 test1.py 文件<br>比如 print("这条消息来自test01"),可能顺便编译了test01的函数,<br>因为没有调用所以没有执行,调用以后执行函数内部程序关于模块的理解大概就这样,至于为什么要在文件开头写这个if __name__ == "__main__",类似于java的主程序入口?大概接触的项目太小,我是还没有发现其妙用之处。

来源:https://www.cnblogs.com/Monster1728/p/17276550.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 关于python 的if __name__ == "__main__"的模块测试