序列与可变序列

Sequence vs. MutableSequence

我一直在使用 Sequence in type hints for sequences including mutable lists. Now I've just discovered that there is also MutableSequence。据我所知,SequenceMutableSequence 的超类,即 Sequence 包括像 list 这样的可变变量和像 tuple 这样的不可变变量,而 MutableSequence只包括前者。

两个问题:

  1. 是。

  2. 否 — 在 Python 中,您只能根据 [=20= 定义接口(其中 SequenceMutableSequence 是两个示例) ]存在 某些methods/behaviours;您不能根据某些 methods/behaviours.

    缺失 来定义接口

我建议阅读 source code for collections.abc,我个人认为它比文档更有启发性。