Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有Python namedtuple的替代品_Python_Python 3.x - Fatal编程技术网

是否有Python namedtuple的替代品

是否有Python namedtuple的替代品,python,python-3.x,Python,Python 3.x,Python的官方文档指出,命名为tuple、deque、ChainMap、Counter、OrderedDict、defaultdict、UserDict、UserList和UserString的名称从Python 3.3开始就被弃用,并将在Python 3.9中删除: 自3.3版起已弃用,将在3.9版中删除:将集合抽象基类移动到Collections.abc模块。为了向后兼容,通过Python3.8,它们在本模块中仍然可见 我阅读了更换模块的文档:。阅读后,我不清楚是否有namedtuple

Python的官方文档指出,命名为tuple、deque、ChainMap、Counter、OrderedDict、defaultdict、UserDict、UserList和UserString的名称从Python 3.3开始就被弃用,并将在Python 3.9中删除:

自3.3版起已弃用,将在3.9版中删除:将集合抽象基类移动到Collections.abc模块。为了向后兼容,通过Python3.8,它们在本模块中仍然可见


我阅读了更换模块的文档:。阅读后,我不清楚是否有namedtuple的替代品。从Python 3.9开始的collections.namedtuple的推荐替代品是什么?

我查看了Python版本的文档。3.8.2 at和它绝对不是不推荐的。但某些功能似乎已发生了变化:

在版本3.6中更改:详细参数和重命名参数变为仅关键字参数

在版本3.6中更改:添加了模块参数

在版本3.7中更改:删除了详细参数和_source属性

在版本3.7中更改:添加了defaults参数和_field_defaults属性


正如@CoryKramer在其评论中指出的,折旧仅适用于ABC位。

存在一些变化。类类型。NamedTuple应用于子类而不是集合。NamedTuple()

发生了一些变化:

在版本3.6中更改:添加了对变量注释的支持 语法

在版本3.6.1中进行了更改:添加了对默认值、方法、, 和文档字符串

在版本3.8中更改:
\u字段类型
\u注释
属性现在是常规字典,而不是
OrderedDict

在版本3.9中更改:删除了
\u field\u types
属性以支持 更标准的
\uuuuuuuuuuuuuuuuuu注释
属性具有相同的 信息


我相信你误解了你文章第一部分的句子。只有ABC已被弃用并移至
集合。ABC
。其他容器(namedtuple、deque、ChainMap、Counter、OrderedDict、defaultdict、UserDict、UserList和UserString)没有被弃用。@CoryKramer当然是对的。但如果是这样的话,数据类似乎是下一个最佳选择。啊,是的,@CodyKramer是正确的。我误解了被反对的内容。对不起,我造成的任何混乱。