当一种方法取决于另一种方法的输出时,设计Python类



我已经将一些数据(例如,几千笔交易(导入到熊猫中,现在我必须对其进行一些分析。示例包括计算变异性,回归等。我正在考虑设计一个类,以将数据导入和存储在对象中,然后在其上调用方法。但是,我认为我可以作为方法写的许多目标都是相互依存的。换句话说,method3需要method2的输出,该输出本身需要method1的输出。因此,很明显,我无法直接致电data.method3()

我如何设计这样的课程?

更大的问题:我什至应该设计一个课程或仅编写此类问题的程序代码?

班级方法调用其他类方法是完全可以的,因此您可以使用Method2 Call Method1等。考虑此示例:

class MyDataHandler(object):
    def __init__(self, val):
        self.val = val
    def method1(self):
        return(2 * self.val)
    def method2(self):
        return(self.method1() + 1)
if __name__ == '__main__':
    data_handler = MyDataHandler(2)
    print(data_handler.method2())

使用OOP与功能编程是一个设计决策,两种样式都可以使用,因此,如果需要,请使用类。请注意,您还可以存储例如方法1在变量中,然后在运行方法2时,请使用方法1的预定结果。

您可以简单地从依赖方法调用依赖关系方法。请参阅下面的简单示例:

def is_integer(n):
    # First Function, no dependency
    """ Validate is Integer"""
    return isinstance(n, int)

def sqaure(n):
    # Depends on "is_integer"
    if is_integer(n):
        return n * n
    return "Not a valid integer: '{}'".format(n)
def print_my_square(n):
    # Depends on "square"
    print sqaure(n)

输出:

>>> print_my_square('n')
Not a valid integer: 'n'
>>> print_my_square(99)
9801

关于您的更大问题>"更大的问题:我什至应该设计课程或仅编写此类问题的程序代码?"

在python中使用classes in python

时检查一下

最新更新