下表显示了Python中普遍存在的各种抽象基类。但是,在这个上下文中,我不确定它们的具体用途。
你能解释一下“抽象方法”列和“Mixin方法”列之间的区别吗?一个列中的方法是可选实现的,另一个列中的方法是必须实现的吗? (下图) Python官方参考 - 容器的抽象基类
你能解释一下“抽象方法”列和“Mixin方法”列之间的区别吗?一个列中的方法是可选实现的,另一个列中的方法是必须实现的吗? (下图) Python官方参考 - 容器的抽象基类
在“抽象方法”列中的任何内容都必须自己实现。ABC提供了“混合方法”列中方法的默认实现,这些方法是基于您需要编写的方法来实现的。
object
而是从该ABC来免费获得它们。例如,如果您定义了__getitem__
,那么您可以自动使用__iter__
。issubclass(your_class, any_ABC)
,并且任何实例都是isinstance(your_object, any_ABC)
。但是,这是在您发布的表格之后的教程中写的。issubclass()
和isinstance()
上的点是什么意思? - AlanSTACK