- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我很好奇 __builtin__
模块以及它是如何使用的,但是我在 Python3 中找不到它!为什么要搬家?
Python 2.7
>>> import __builtin__
>>>
Python 3.2
>>> import __builtin__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named __builtin__
>>>
最佳答案
__builtin__
模块在 Python3 中被重命名为 builtins
。
此更改解决了普通 Python 开发人员的 2 个困惑。
'__builtins__'
还是 '__builtin__'
在全局命名空间中?该死的! __builtin__
是 special method name还是一个模块?我不能告诉。这种混淆主要是因为违反了 pep8惯例。此外,模块上缺乏多元化也阻碍了沟通。 Guido 必须从 http://mail.python.org/pipermail/python-ideas/2009-March/003821.html 解释以下内容的长度极大地说明了这两者。 :
[CPython] looks at the globals, which contain a special magic entry
__builtins__
(with an 's') which is the dict where built-in functions are looked up. When this dict is the same object as the default built-in dict (which is__builtin__.__dict__
where__builtin__
-- without 's' -- is the module defining the built-in functions) it gives you supervisor privileges;…
例如,
Python2.7
>>> import __builtin__
>>> vars(globals()['__builtins__']) is vars(__builtin__)
True
>>>
Python3.2
>>> import builtins
>>> vars(globals()['__builtins__']) is vars(builtins)
True
>>>
相关资源:
其他名称更改 - http://docs.pythonsprints.com/python3_porting/py-porting.html#name-changes
关于如何在名称解析中使用 __builtins__
的简要说明 - __builtin__ module in Python
关于python - Python3 中的 __builtin__ 模块在哪里?为什么改名了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9047745/
我有以下代码片段和输出 带有元类: def some(*args): return type(args) __metaclass__ = some class Foo: a = 'khk
为什么第一条语句返回NameError,而max可用 >>> __builtin__ Traceback (most recent call last): File "", line 1, in
考虑: Python 2.7.3 (default, Aug 2 2012, 16:55:39) [GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2 T
我在我的 arch linux box 上安装了 rdiff-backup 只是以属性错误结束: AttributeError: 'module' object has no attribute 'r
我正在尝试在 python3.6 中加载(复制的)pickle 对象,但这样做时出现 __builtin__\r 的导入错误。 with open('FilePath/FileName.pkl', "
我正在使用如下比较: if type( self.__dict__[ key ] ) is str \ or type( self.__dict__[ key ] ) is set \
我正在尝试了解 __builtin__ 在 Python 中的工作原理。我的代码如下: import __builtin__ class MyList(list): pass __builti
出于超出此问题范围的原因,我正在构建一个序列化机制。我遇到了 None 对象的问题,我认为我需要特殊情况。谁能解释为什么 NoneType 与其他内置类型的处理方式不同?还是我遗漏了什么? >>> i
在我看到的一些 python 代码示例中,from __builtin__ import True。 True 已经内置了,所以我想知道为什么要导入它? 最佳答案 没有充分的理由,除非模块出于某种原因
如果我有一个模块 Test 并且我需要列出其中的所有函数,我会这样做: import Test dir(Test) 除非我导入模块,否则我将无法使用其中定义的函数。 但是__builtin__模块中的
我今天正在编码并注意到一些东西。如果我打开一个新的解释器 session (IDLE)并检查 dir 函数定义的内容,我会得到: $ python >>> dir() ['__builtins__',
我在“cythonizing”一个用 python 编写的项目时遇到问题。 1. 实例化一个 python 类(在文件 myclass.py 中声明),然后在文件 main.py 中使用 setatt
当我调用 execfile 而不传递全局变量或局部变量参数时,它会在当前命名空间中创建对象,但如果我调用 execfile 并为全局变量(和/或局部变量)指定字典,它会在 __builtin__ 命名
我偶然发现了这条 python : __builtin__.__dict__['N_'] = lambda x: x class X: doc = N_('some doc for class
我很好奇 __builtin__ 模块以及它是如何使用的,但是我在 Python3 中找不到它!为什么要搬家? Python 2.7 >>> import __builtin__ >>> Python
print.__doc__ 输出: SyntaxError: invalid syntax 在哪里 >>> getattr(__builtin__,"print").__doc__ 输出: print
在 Python 中,有一个 dir()和 __builtin__ 内置对象列表。 >>> dir(__builtins__) ['ArithmeticError', 'AssertionError'
我在我的 Django 应用程序中收到此错误,但是,它每天只发生一次或更少,而且事实证明它极难调试。 Environment: Request Method: POST Django Version:
我在 spacemacs 中启用了 python 层,当使用跳转到定义时,出现“无法打开 __builtin__ 模块”错误。我在 pycharm 中使用了相同的 vim 样式命令“gd”,没有遇到任
Sentry :8.4.0 sentry-youtrack 插件:0.3.1 youtrack-6.5.17105 python-memcached:1.53 我正在尝试集成youtrack进入sen
我是一名优秀的程序员,十分优秀!