if __name__ == “__main__“

在Python中,if __name__ == "__main__": 这行代码非常常见,它用于判断当前运行的脚本是否是主程序。这里的 __name__ 是一个特殊变量,当Python文件被直接运行时,__name__ 被自动设置为字符串 "__main__"。但是,如果这个文件是被其他文件导入的,__name__ 则会被设置为该模块的名字(即不包含文件扩展名的文件名)。

这个机制允许一个Python文件既可以作为脚本直接运行,也可以作为模块被其他文件导入,而不会在执行导入时自动执行文件中的代码块。通过 if __name__ == "__main__": 判断,你可以控制哪些代码只在文件被直接运行时执行,哪些代码在被导入时执行(或者根本不执行)。

下面是一个简单的例子来说明这一点:

python 复制代码
# 文件名: example.py  
  
def func():  
    print("func() 函数被调用")  
  
if __name__ == "__main__":  
    print("example.py 被直接运行")  
    func()  
  
# 如果这个文件被直接运行,输出将会是:  
# example.py 被直接运行  
# func() 函数被调用  
  
# 但是,如果这个文件被其他Python文件通过 import 语句导入,比如这样:  
#  
# import example  
#  
# 那么 "example.py 被直接运行" 和 "func() 函数被调用" 这两行将不会被打印,  
# 因为此时 __name__ 的值不是 "__main__",而是 "example"(或导入时使用的其他别名,如果有的话)。  
# 只有 func() 函数会被导入,可以在其他文件中通过 example.func() 调用它。

这种方式在开发Python程序时非常有用,因为它允许你创建可复用的代码库(即模块),同时又能在需要时直接运行这些模块以进行测试或执行特定的任务。

相关推荐
lion_zjg3 分钟前
Gitlab服务器数据迁移及版本升级
运维·服务器·gitlab
MinggeQingchun18 分钟前
Python - 爬虫-网页抓取数据-工具wget
爬虫·python·curl·wget
IT、木易30 分钟前
JavaScript如何判断一个变量是否为数组的多种方法及原理,除Array.isArray()外还有哪些方式?
开发语言·前端·javascript
郭源潮133 分钟前
《Linux:动态库动态链接与静态库静态链接》
linux·运维·服务器·c语言
jz_ddk40 分钟前
信号处理抽取多项滤波的数学推导与仿真
python·算法·信号处理
几度泥的菜花1 小时前
使用 Promise 和 .then() 解决同异步问题
前端·javascript
CryptoRzz1 小时前
对接股票金融数据源API
网络·python·websocket·网络协议·金融
沉默的煎蛋1 小时前
深入理解计算机网络:OSI 与 TCP/IP 各层结构与功能
java·linux·服务器·开发语言·网络·tcp/ip·计算机网络
编程咕咕gu-1 小时前
Python OCR文本识别详细步骤及代码示例
人工智能·python·ocr·python基础·python教程
云说智树1 小时前
工业物联网的“边缘革命”:研华IoT Edge 设备联网与边缘计算的突破与实践
前端·物联网·edge