在python中实现类接口的正确方法是啥
Posted
技术标签:
【中文标题】在python中实现类接口的正确方法是啥【英文标题】:What is the right way to implement an interface like class in python在python中实现类接口的正确方法是什么 【发布时间】:2022-01-17 12:16:01 【问题描述】:什么是让继承自超类的每个类在python中具有相同功能的正确方法?
超类没有实现任何东西,它只是定义了子类所需的功能,供某些应用程序中的函数使用。
在 Python 中实现这样的事情的正确方法是什么?
【问题讨论】:
请查看以下帖子以了解您的问题。 How do I implement interfaces in python? Python 是一种 Duck Typed 语言。如果在一个类中实现了所需的方法,那么该类是否继承自基类甚至都没有关系。 @MarkRansom 在不继承的情况下注册到 ABC 是一项非常强大的功能。就像__subclasshook__
和打字协议一样。
【参考方案1】:
使用Abstract Base Classes 是建议的解决方案。
欢迎您阅读abc 模块,它信息量很大。
对于一些内置示例,您可以查看collections.abc。
【讨论】:
以上是关于在python中实现类接口的正确方法是啥的主要内容,如果未能解决你的问题,请参考以下文章