如何在我的cod中组织帮助功能

2024-09-28 19:28:29 发布

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

我创建的类如下所示:

class DataProcessor(object):

    data1
    data2
    data3

    def process_data(self):
        self.process_data1_inOneWay()
        self.process_data2_inAnotherWay()
        self.process_data3_inADifferentWay()

处理任务由多个部分组成,我的问题是:定义这些帮助功能的合适位置是什么。我觉得它们不应该是DataProcessor类的一部分,因为process_data是唯一使用它们的方法。我曾考虑过定义一个内部类,但我读到它们的用法并没有得到真正的鼓励。我也考虑过lambdas,但由于其功能有限而拒绝了这个想法。或者我应该把所有的代码放在process_data方法中,不要把它分成更小的部分


Tags: 方法self功能data定义objectdefprocess
2条回答

我只是把它们放到课堂上,给它们一个很弱的“内部使用”指标

根据PEP8,这些方法的名称应该有一个前导下划线:_process_data1_someway()

只要通过阅读类定义就可以很容易地看出他们的角色/预期可见性是什么,我就不会太担心这个问题

我会保持简单,把助手放在课堂上;它很可能是您代码的读者希望在其中找到它们的地方。具体如下:

class DataProcessor(object):

    data1
    data2
    data3

    def process_data(self):
        self._process_data1_inOneWay()
        self._process_data2_inAnotherWay()
        self._process_data3_inADifferentWay()

    def _process_data1_inOneWay(self):
        pass

    def _process_data2_inAnotherWay(self):
        pass

    def _process_data3_inADifferentWay(self):
        pass

请注意,使用下划线前缀通知这些方法仅在内部使用(如您所述,它们仅从一个点调用)

相关问题 更多 >