__init__.py 中的 __name__ 是什么?
What's __name__ in the __init__.py?
我感觉我对python中的__name__
环境变量有什么了解了。但是,当我从 __init__.py 打印出 __name__
变量时,它会打印出它所在目录的名称(也就是包名称)。 __name__
如何在初始化文件中定义?
此外,是否每个 python 文件都有自己的本地 __name__
变量?因为它在文件之间不断变化...(也许我并不像我想的那样理解 __name__
)
编辑:我真的不认为这个问题与 __name__
等于 __main__
的问题相同。我了解 __name__
在大多数 python 文件中的含义。我仍然对 __init__
文件中的值感到困惑。
__name__
是 Python 模块系统中的一个 "magic" 变量。它只是模块名称,或者你导入的东西。例如,/radical/__init__.py
表示可以执行以下操作
import radical
__init__.py
是您向 Python 表明您希望将文件夹视为模块的方式。这允许从多个文件而不是一个巨大的文件构建模块层次结构。以这段代码为例:/radical/utils.py
import utils from radical
没有 __init__.py
Python 将其视为普通文件夹,因此不会有模块名称。
如果您直接 运行 脚本,__name__
将作为 __main__
模块加载,这就是为什么 if __name__ == '__main__'
检查您是 运行宁文件而不是导入它。
我感觉我对python中的__name__
环境变量有什么了解了。但是,当我从 __init__.py 打印出 __name__
变量时,它会打印出它所在目录的名称(也就是包名称)。 __name__
如何在初始化文件中定义?
此外,是否每个 python 文件都有自己的本地 __name__
变量?因为它在文件之间不断变化...(也许我并不像我想的那样理解 __name__
)
编辑:我真的不认为这个问题与 __name__
等于 __main__
的问题相同。我了解 __name__
在大多数 python 文件中的含义。我仍然对 __init__
文件中的值感到困惑。
__name__
是 Python 模块系统中的一个 "magic" 变量。它只是模块名称,或者你导入的东西。例如,/radical/__init__.py
表示可以执行以下操作
import radical
__init__.py
是您向 Python 表明您希望将文件夹视为模块的方式。这允许从多个文件而不是一个巨大的文件构建模块层次结构。以这段代码为例:/radical/utils.py
import utils from radical
没有 __init__.py
Python 将其视为普通文件夹,因此不会有模块名称。
如果您直接 运行 脚本,__name__
将作为 __main__
模块加载,这就是为什么 if __name__ == '__main__'
检查您是 运行宁文件而不是导入它。