1 | def main(): |
对于很多将 Python 作为第一个语言学习的新手,通常会对以上的if __name__ == "__main__"
感到迷惑,那么它究竟是什么呢?
首先,我们要知道,在 Python 中运行 import <module>
的时候,实质上就是运行一次你所导入的模块(<module>
)。
而__name__
是一个 Python 的一个内置变量,当你的.py
文件被直接运行时,该文件的__name__
就会被赋值为__main__
,所以当我们直接运行开头那个程序时,if
内的语句main()
就将可以执行。
但是,当我们使用import
的方式导入这个文件的代码,情况便有所不同。当一个.py
文件被import
到你的主文件时,那个被引入的文件的__name__
属性会被赋值为其文件名(仅保留.py
前面的部分)。所以 if __name__ == "__main__"
检测时,程序发现__name__
属性的值并不是"__main__"
(而是文件名),导致检查返回了false
,内部的语句也就不会被执行了。
Python中的if name == “main“是什么意思? © 2024 by Ruotian is licensed under CC BY-NC-SA 4.0