三、运行原理深度解析
每个Python模块都包含内置属性__name__
:
- 当文件直接执行时,
__name__
被设置为"__main__"
- 当文件被导入时,
__name__
被设置为模块名称(不含.py
后缀)
# test.py
print(f"模块名称: {__name__}") # 验证__name__值的变化
def main():
print("这是主函数")
if __name__ == '__main__':
print("直接执行时才会看到这条信息")
main()
场景1:直接运行test.py
$ python test.py
模块名称: __main__
直接执行时才会看到这条信息
这是主函数
场景2:在import_test.py中导入
# import_test.py
import test # 导入时只会执行模块级代码
$ python import_test.py
模块名称: test