1. if name == 'main': 的含义,why?

含义:在Python中,每个模块都有一个内置变量 name  。当模块直接运行时, name  被赋值为 'main'  ;当模块被其他模块导入时, name  被赋值为模块名。 if name == 'main':  就是用于判断当前模块是否是主程序入口 ,在这个代码块内的代码只有在模块直接运行时才会执行,被导入时不会执行。
原因:方便代码的组织和复用。比如一个模块中既包含可被其他模块调用的函数、类等定义,又有一些用于测试的代码。将测试代码放在 if name == 'main':  内,就可以保证测试代码在模块被导入时不会干扰其他程序的运行,只有直接运行该模块时才执行。

例子:
(1)有个程序是test.py
print("开始执行代码")
if name == 'main':
print("当前文件是主程序,正在运行")
else:
print("当前文件被其他程序导入")

直接运行test.py,作为主程序运行,其结果是:
当前文件是主程序,正在运行

(2)再有一个main.py:
import test
print("这是 main.py 文件中的其他代码逻辑")
运行main.py,其结果是:
当前文件被其他程序导入
这是 main.py 文件中的其他代码逻辑

posted @ 2025-04-06 15:50  aa阿夏  阅读(155)  评论(0)    收藏  举报