Jos*_*gal 1 python init environment-variables
我觉得我对__name__python中的环境变量有一个很好的了解。但是,当我__name__从__init__.py中打印出变量时,它会打印出其所在目录的名称(即软件包名称)。如何__name__在初始化文件中定义?
另外,每个python文件都有自己的局部__name__变量吗?因为它在文件之间不断变化...(也许我不太了解__name__,也没有想到)
编辑:我真的不认为这个问题与名称等于主要问题相同。我了解在大多数python文件中什么叫名字。我只是对init文件中的值感到困惑。
__name__是Python的模块系统中的“魔术”变量。它只是模块名称,或您导入的名称。例如,/radical/__init__.py这意味着可以执行以下操作
import radical
Run Code Online (Sandbox Code Playgroud)
,这__init__.py是向Python指示要将文件夹视为模块的方式。这允许从多个文件(而不是一个巨型文件)构建模块层次结构。以这段代码为例:/radical/utils.py
import utils from radical
Run Code Online (Sandbox Code Playgroud)
没有__init__.pyPython,它将视为普通文件夹,因此它将没有模块名称。
如果直接运行脚本,__name__则会作为__main__模块加载,这就是为什么要if __name__ == '__main__'检查您正在运行的文件而不是导入文件的原因。