NameError: name ‘__main__’ 未在 Python 中定义

NameError: 名称__main__未在 Python 中定义

NameError: name ‘__main__’ is not defined in Python

Python“NameError: name __main__is not defined”发生在我们忘记__main__用引号括起特殊名称时。要解决该错误,请将名称
__main__用引号引起来,例如"__main__".

nameerror name main 未定义

下面是错误如何发生的示例。

主程序
# ⛔️ NameError: name '__main__' is not defined. Did you mean: '__name__'? if __name__ == __main__: print('Module is run directly')

要解决这个错误,我们必须将特殊名称
_ _ main _ _括在引号中。

主程序
# ✅ using the string __main__ if __name__ == '__main__': # 👈️ wrap in quotes print('Module is run directly')

导入 Python 模块时, 将__name__设置为模块的名称。

主程序
import math print(math.__name__) # 👉️ "math"

通常,这是不带.py扩展名的 Python 文件的名称。

但是,如果模块直接运行,__name__则其设置为 string
"__main__"

__main__名称是运行顶级代码的环境。这是第一个开始运行的模块(我们的 Python 应用程序的入口点)。

顶级意味着该模块导入程序需要的所有其他文件。

您可以使用__name__变量来检查模块是否在顶层环境中运行。

主程序
if __name__ == '__main__': print('Module is run directly')

我们将__name__变量与字符串进行比较"__main__",如果满足条件,我们就知道模块是直接运行的,而不是从 import 语句初始化的。

结论

Python“NameError: name __main__is not defined”发生在我们忘记__main__用引号括起特殊名称时。要解决该错误,请将名称
__main__用引号引起来,例如"__main__".