是否有一个“思维导图”,UML图表,图形或某些实际参考资料来说明不同Python类型及其必须实现的魔术方法?
我正在使用Python 3.8。data model docs和built-in types docs文档非常简洁,如果能看到Python中不同类型的不同协议的总体概述将会很有帮助(例如,我已经“学习”(阅读?)了,要实现“类似不可变”的对象,必须遵守Python中的Immutable Protocol
,这意味着您必须实现__len__
和__getitem__
。要使其“类似可变”,您必须进一步添加__setitem__
和__delitem__
)。
collections.abc
是否完全不同,或者那里提供的信息是否适用于Python内置类型(即list
、tuple
、dict
等)。特别是因为collections.abc
文档指出它“提供了替代Python通用内置容器dict、list、set和tuple”,其次是因为如果我想学习Python语言本身的默认内置函数,我不会想到去collections
模块。有没有可靠的资源?最好是采用继承关系格式,以免重复信息。例如,在我的示例中,与其说一个
mutable-like
对象实现 __len__
, __getitem__
, __setitem__
, 和 __delitem__
,如果它被"分块"并且信息是 "一个 mutable-like
对象从 immutable-like
继承而来,并添加了 __setitem__
和 __delitem__
",那么对于我这种脑容量有限的人来说会更容易理解。有什么想法吗?我认为这是新手困惑的重要原因之一,很多错误都源自于对 Python 数据类型的误解。