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 ':

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

相关推荐
北冥有羽Victoria8 小时前
Django 实战:SQLite 转 MySQL 与 Bootstrap 集成
大数据·服务器·python·django·编辑器
忘忧记8 小时前
Pytest + Requests + YAML 数据驱动+日志模块
网络·python·pytest
AI自动化工坊8 小时前
微软Agent Framework实战指南:统一Python和.NET的AI开发体验
人工智能·python·microsoft·.net·agent
林姜泽樾8 小时前
Python爬虫基础第一章,JSON
爬虫·python·网络爬虫
啥咕啦呛8 小时前
跟着AI学java第4天:面向对象编程巩固
java·开发语言·人工智能
聆风吟º8 小时前
【C标准库】深入理解C语言memcmp函数:内存比较的利器
c语言·开发语言·库函数·memcmp
艾莉丝努力练剑8 小时前
【Linux线程】Linux系统多线程(一):线程概念
java·linux·运维·服务器·开发语言·学习·线程
低保和光头哪个先来8 小时前
Axios 近期安全版本
开发语言·前端·javascript·前端框架
zzwq.8 小时前
深入理解Python闭包与装饰器:从入门到进阶
开发语言·python
网易独家音乐人Mike Zhou8 小时前
【Python】TXT、BIN文件的十六进制相互转换小程序
python·单片机·mcu·小程序·嵌入式·ti毫米波雷达