Skip to main content

三、运行原理深度解析

每个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