Python 类型提示:何时使用 MutableSequence 与 List

Int*_*rer 4 python list sequence type-hinting python-typing

我一直在阅读有关typing.Sequence和 的内容typing.MutableSequence。两者都没有大量的“轻松阅读”,一切都直接进入细节。

这个答案可以指定Python类型注释中的方差吗?

序列是列表的只读版本

MutableSequence所以这让我想知道,和 只是普通之间有什么区别List


更多细节

我能找到的最好的来源是Python 数据模型的标准类型层次结构部分。

从阅读该部分来看Mutable sequences,似乎可能MutableSequence是 ? 的“父母” List

换句话说,可以互换使用它们,只是MutableSequence限制少一点?

use*_*ica 7

MutableSequence表示任意可变序列。例如, 的实例array.array满足MutableSequence

List具体来说只是列表。如果一个对象不是列表,则它不满足List

MutableSequence当您想要表达“可变序列”时使用。List当你想表达“列表”时使用。