如何在Python模块中定义__name__变量?

如何在Python模块中定义__name__变量?,第1张

如何在Python模块中定义__name__变量?

它设置为导入模块的绝对名称。如果将其导入为

foo.bar
,则
__name__
设置为
'foo.bar'

名称是在

import.c
模块中确定的,但是由于该模块处理各种不同类型的导入(包括zip导入,仅字节码的导入和扩展模块),因此有
多个 代码路径可用于查找。

通常,

import
语句会转换为对的调用
__import__
,默认情况下会实现为对的调用
Pyimport_importModuleLevelObject
。请参阅
__import__()
文档以了解参数的含义。在
Pyimport_importModuleLevelObject
相对名称中已解析,因此您可以根据需要
name
跟踪那里的变量。

该模块的其余部分通过

Pyimport_AddModuleObject
创建实际的名称空间对象和设置
name
键来处理实际的导入,但是您可以将该
name
值追溯到
Pyimport_importModuleLevelObject
。通过创建模块对象,可以
__name__
moduleobject.c
对象构造函数中设置其值。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674295.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存