gpt4 book ai didi

python - 通过 __builtins__ 访问内置函数

转载 作者:太空宇宙 更新时间:2023-11-03 14:20:56 24 4
gpt4 key购买 nike

我有以下脚本:

a.py

print(__builtins__.max)
import b

和以下模块:

b.py

print(__builtins__.max)

使用 python3 a.py 启动它们我得到:

<built-in function max>
Traceback (most recent call last):
File "a.py", line 2, in <module>
import b
File "/home/antonio/Scrivania/b.py", line 1, in <module>
print(__builtins__.max)
AttributeError: 'dict' object has no attribute 'max'

所以我不明白。为什么在脚本中 __builtins__ 被分配给内置模块而不是在模块中 __builtins__ 被分配给一个字典?

最佳答案

不要使用__builtins__;使用 builtins module相反。

__builtins__ 对象是您不应依赖的实现细节。来自 builtins 模块文档:

As an implementation detail, most modules have the name __builtins__ made available as part of their globals. The value of __builtins__ is normally either this module or the value of this module’s __dict__ attribute. Since this is an implementation detail, it may not be used by alternate implementations of Python.

注意我强调的地方;当您访问 __builtins__ 时,您可以拥有字典或模块对象。

关于python - 通过 __builtins__ 访问内置函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28050229/

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