我正在尝试整理如何组织大量迭代存储在 python 类实例中的数据的代码。在大多数情况下,代码读取实例数据并产生一些结果(数字、列表等)。本质上,我只是试图通过创建顶级实例方法来保持所有内容的可维护性和更易于阅读,这些方法将繁重的工作委托给需要实例数据但不需要修改实例本身的“愚蠢”方法。鉴于这些其他方法的只读性质,我最好将它们声明为静态方法并将所需数据作为单独的参数传递,还是将它们全部保留为实例方法?我更喜欢静态方法方法作为“自我”参数表示该方法修改实例数据,但我不知道我是否过度使用静态方法来采用这种方法......我意识到这是一个广泛的问题,邀请基于意见的回应,但我找不到任何信息表明过度使用静态方法会造成任何真正的困难/性能问题(反之亦然)。也就是说,我看到应该谨慎使用静态方法的建议,但我没有看到任何理由。例如,在下面的代码片段中,假设静态方法表示对实例数据的重要但独立的操作,最好将它们标记为静态方法(这立即告诉我它们只返回结果,而不是修改实例或类),或者让它们都是实例级方法并直接访问数据?这种方法是否存在任何实际问题?class Test(object): def __init__(self): self.var1 = 10 self.var2 = ["my", "list", "of", "strings"] self.var3 = [1,2,3,4,5] @staticmethod def processFloat(inst_float): pass @staticmethod def processList(inst_list): pass @staticmethod def processArray(inst_array): pass def doStuff(self): processFloat(self.var1) processList(self.var2) processArray(self.var3)
添加回答
举报
0/150
提交
取消