gpt4 book ai didi

python - 在 python 中创建接口(interface)和可交换实现

转载 作者:太空狗 更新时间:2023-10-29 21:35:43 25 4
gpt4 key购买 nike

是否可以在 python 中创建一个类接口(interface)以及该接口(interface)的各种实现。

示例:我想为 pop3 访问创建一个类(以及所有方法等)。如果我使用商业组件,我想包装它以遵守契约(Contract)。

将来,如果我想使用另一个组件或编写自己的代码,我希望能够交换东西,而不是让东西紧密耦合。

可能吗?我是 python 新手。

最佳答案

对于来自强类型语言背景的人来说,Python 不需要类接口(interface)。您可以使用基类模拟它。

class BaseAccess:
def open(arg):
raise NotImplementedError()

class Pop3Access(BaseAccess):
def open(arg):
...

class AlternateAccess(BaseAccess):
def open(arg):
...

但是您可以在不使用 BaseAccess 的情况下轻松编写相同的代码。强类型语言需要在编译时进行类型检查的接口(interface)。对于 Python,这不是必需的,因为所有内容都是在运行时动态查找的。 Google 'duck typing'因其理念。

Python 2.6 中添加了抽象基类模块。但是我没用过。

关于python - 在 python 中创建接口(interface)和可交换实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2860106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com