if __name__ == ‘__main__‘ 是个什么鬼?

有句话经典的概括了这段代码的意义:

"Make a script both importable and executable"

意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行。

咋一看,其实我也不理解到底是个什么球意思,这里我们写两个Demo

test01.py

复制代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 导入模块
import test02


def show():
    print('test01')


if __name__ == '__main__':
    show()

test02.py

复制代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-


def show():
    print('test02')


if __name__ == '__main__':
    show()

这里我们运行test01.py,会输出test01。

如果我们吧test02.py修改为:

复制代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-


def show():
    print('test02')



show()

再次执行test01.py,它会输出test01 和 test02。

看到这里小伙伴应该明白了吧,在多模块编程的时候,一定要加入if name == 'main ':

这样一个判断,否则引入模块的方法也会被执行。

相关推荐
veminhe12 分钟前
python(五)rag学习一:02向量
python
身如柳絮随风扬15 分钟前
Java对象在计算机中的执行原理:从JVM内存模型到对象创建全过程
java·开发语言·jvm
河西石头16 分钟前
听AI的血的教训!PPOCRLabel部署与PyQt5的安装避坑-百分百成功!
开发语言·人工智能·python·pyqt5安装·ppocrlabel的部署
BU摆烂会噶18 分钟前
【LangGraph】 流式处理入门
人工智能·python·langchain·人机交互
野生技术架构师22 分钟前
我总结了这份2026最新版Java面试题库(背完这一套就够了)
java·开发语言·面试
AIGC设计所22 分钟前
网络安全8大就业领域和待遇对比!
运维·开发语言·网络·安全·web安全·php
xxjj998a26 分钟前
PHP与汇编:从Web到硬件的编程差异
开发语言·汇编·php
计算机毕业编程指导师31 分钟前
【Python大数据项目推荐】基于Hadoop+Django脑卒中风险分析系统源码解析 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·脑卒中
bestcxx1 小时前
多个维度对 Java、Python、C#、Go 这四种主流编程语言进行比较
java·python·c#
装杯让你飞起来啊1 小时前
Kotlin 条件判断 if / when 与智能转换 smart cast
开发语言·python·kotlin