是否有Python 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,它们在本模块中仍然可见是否有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
我阅读了更换模块的文档:。阅读后,我不清楚是否有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是正确的。我误解了被反对的内容。对不起,我造成的任何混乱。