Python 请忽略这一点`types.DictType.\uuuuuuuuuuuuuuuuuuuu新的(types.DictType,(),{})`
这使该代码能够构造一个新的dictPython 请忽略这一点`types.DictType.\uuuuuuuuuuuuuuuuuuuu新的(types.DictType,(),{})`,python,Python,这使该代码能够构造一个新的dict import types d = types.DictType.__new__(types.DictType, (), {}) 这似乎是一个Python2代码 >>> types.DictType.__new__(types.DictType, (), {}) {} 在Python3中运行此命令会产生此错误 ------------------------------------------------------------------
import types
d = types.DictType.__new__(types.DictType, (), {})
这似乎是一个Python2代码
>>> types.DictType.__new__(types.DictType, (), {})
{}
在Python3中运行此命令会产生此错误
--------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-16-b2f9ffc89bc4> in <module>
1 import types
----> 2 d = types.DictType.__new__(types.DictType, (), {})
3 d
AttributeError: module 'types' has no attribute 'DictType'
--------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在里面
1进口类型
---->2d=types.DictType.\uuuuuuuuuuuuuuuuuuuuuuuuu新的(types.DictType,(),{})
三维
AttributeError:模块“types”没有属性“DictType”
Python3中的types.DictType.\uuu new\uuuu(types.DictType,(),{})
的等效代码是什么
types.DictType.\uuu new\uuuu(types.DictType,(),{})
和just{}
之间有什么区别
我已经向海报提出了同样的问题。
types.DictType
在python 3中不存在,因为它不需要。我们已经有了dictdict
,所以它在Python3中被删除了
如果您正在寻找等效代码,它将如下所示:
dict.__new__(dict, (), {})
我只想说,你不应该真的使用它。直接使用dict
literal即可
new_dict = {}
#alternatively
new_dict = dict()
要引用类型的名称,请执行以下操作:
此模块定义实用程序函数,以帮助动态创建
新类型
它还为用户使用的某些对象类型定义名称
标准Python解释器,但不作为内置项公开,如int或
str是
-重点矿山
注意,由于dict是公开的,我们首先不应该期望它出现在类型中
编辑:另请参见相关问题是否?只需使用{}
。这篇文章a)不是关于如何创建dict的公认答案,b)甚至没有给出首选解决方案,只是愚蠢的第三个选项。你究竟为什么要把它当作创造一个dict的实际方式?