我一直在阅读有关typing.Sequence
和typing.MutableSequence
的信息。两者之间都没有大量的“光阅读”,所有内容都直接变成了细节。
从this answer到Can you specify variance in a Python type annotation?
序列是列表的只读版本
因此,我想知道,MutableSequence
和普通的List
有什么区别?
更多详细信息
我能找到的最佳资源是Python数据模型的The standard type hierarchy部分。
通过阅读Mutable sequences
部分,看来MutableSequence
可能是List
的“父母”?
换句话说,可以互换使用它们,只是MutableSequence
的限制要少一些?
MutableSequence
代表任意可变序列。例如,array.array
的实例满足array.array
。
MutableSequence
特别是仅列出。如果对象不是列表,则不满足List
。
要表达“可变序列”时,请使用List
。要表达“列表”时,请使用MutableSequence
。