接口和抽象类的Python命名约定?

2024-05-28 21:01:21 发布

您现在位置:Python中文网/ 问答频道 /正文

Python中命名接口和抽象类的约定是什么?8号人物不讨论这个。例如,在Java中,接口通常使用“I”前缀命名。在PHP(在名称空间之前)中,抽象类通常使用“_abstract”后缀命名。

(我意识到Pythonists并不热衷于接口,也许这就是我在这个话题上找不到太多共识的原因。但接口和抽象类的使用不是我的问题。)


Tags: 名称abstract空间抽象类原因java后缀命名
3条回答

我认为用I前缀命名接口是完全可以接受的。

例如:

IFoo

IPublishable

几年前我用过Zope接口。我注意到大多数代码库都使用这个约定。我们队也这么做了。

我们更喜欢IFoo与FooInterface或IFooInterface

我会朝着数字塔(从^{})、集合abc(从^{})或其他核心abc(如^{})寻找最“Pythonic”的方法来实现这一点。

由此达成的共识是,只要按原样命名它们,让人类的理解认识到它们是抽象的。

除了PEP8之外,我不知道在这方面有任何社区范围的标准,因为它没有具体解决这个问题。

我建议你做你的团队最满意的事,但最重要的是保持一致。

相关问题 更多 >

    热门问题