首页 > 解决方案 > 序列与可变序列

问题描述

我一直Sequence在对包括 mutable 在内的序列使用 in 类型提示list。现在我刚刚发现还有MutableSequence. 据我所知,Sequence是 的超类MutableSequence,即Sequence包括可变的list和不可变的tuple,而MutableSequence只包括前者。

两个问题:

标签: python-3.xpython-typingabcpython-collections

解决方案


  1. 是的。

  2. 不——在 Python 中,您只能根据某些方法/行为的存在Sequence来定义接口(其中和MutableSequence是两个示例) ;您不能根据缺少某些方法/行为来定义接口。

我建议阅读 的源代码collections.abc,我个人认为它比文档更有启发性。


推荐阅读