首页 > 解决方案 > 在类中导入 python 方法的更简洁的方法

问题描述

我有一个项目,其中一个类中有很多方法。目前所有方法都直接在BaseProfle定义类的文件中。我们希望将它们移动到自己的文件中,以方便新团队成员使用。

下面的代码块展示了我们这样做的想法。但我们不确定是否有更 Pythonic 的方法可以做。

# __init__.py
from .request import url_formatter, request
...

class BaseProfile:
    url_formatter = url_formatter
    request = request
    ...
# request.py
def request(self: BaseProfile, body):
...

标签: pythonpython-3.x

解决方案


按照惯例,python 中的类定义占用一个文件。BaseProfile恕我直言,保持可读性的最佳方法是保持其方法简短。

如果真的想将类定义分布在多个文件中,您可以考虑将导入语句直接放在类定义中的这种方法。在我看来,这更干净,因为它消除了url_formatter = url_formatter在类定义中分配 etc 的需要。

另一种方法是使用 mixins(参见此处由此答案引用)。


推荐阅读