理解python的if name == main
✅ 一、没有加 if __name__ == "__main__":
python复制编辑# demo.py |
👉 结果:
直接运行:会输出
复制编辑脚本开始执行
Hi!被
import demo导入:也会自动输出上面的内容,因为print()和say_hi()是顶层代码,导入时就会执行。
✅ 二、加了 if __name__ == "__main__":
python复制编辑# demo.py |
👉 结果:
直接运行:
复制编辑模块被加载了
脚本开始执行
Hi!被
import demo导入:复制编辑
模块被加载了✅ 只执行了最外层的
print(),if __name__ == "__main__":里的内容不会自动跑。
✅ 小总结:
- 你写在
if __name__ == "__main__":外面 的代码,在导入时就会执行。 - 你写在
if __name__ == "__main__":里面 的代码,只在直接运行这个脚本时执行。
所以如果你希望脚本被导入时“干净点”,就别把主逻辑写在外面,而是包在 if __name__ == "__main__" 里。
你想不想试试自己写一个脚本,然后新建一个文件导入它,感受一下这种差异?我可以帮你搭个结构~