gpt4 book ai didi

python - 模块(__name__)是做什么的?

转载 作者:行者123 更新时间:2023-11-28 18:39:48 24 4
gpt4 key购买 nike

我对这行代码很疑惑:

email = Module(__name__)

我猜这只是创建一个别名来引用我所在的模块?如果不是,那么这是做什么的?

最佳答案

Within a module, the module’s name (as a string) is available as the value of the global variable __name__.

>>> import itertools as it
>>> it.__name__
'itertools'

但是 email = Module(__name__) 会引发一个 NameError: (name 'Module' is not defined)。如果您定义了名称 Module,例如使用 itertools(__name__),因为它不可调用,它会引发 TypeError

因为 __name__ 是一个模块属性,你不能单独传递它。

您还可以在 dir() 函数结果中找到 __name__,它用于找出模块定义了哪些名称。

>>> dir(itertools)
['__doc__', '__name__', '__package__', 'chain', 'combinations', 'combinations_with_replacement', 'compress', 'count', 'cycle', 'dropwhile', 'groupby', 'ifilter', 'ifilterfalse', 'imap', 'islice', 'izip', 'izip_longest', 'permutations', 'product', 'repeat', 'starmap', 'takewhile', 'tee']

关于python - 模块(__name__)是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27708783/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com