我已经将一些数据(比如几千笔交易)导入Pandas,现在我必须对它进行一些分析。示例包括计算可变性,回归等。我正在考虑设计一个类来导入数据并将数据存储在对象中,然后在其上调用方法。然而,我认为可以作为方法编写的许多目标是相互依赖的。换句话说,method3
需要method2
的输出,method1
本身需要data.method3()
的输出。显然,我无法直接致电p.foo()
。
我如何设计这样的课程?
更大的问题:我是否应该设计一个类或只为这样的问题编写程序代码?
答案 0 :(得分:0)
类方法调用其他类方法完全没问题,因此可以使用method2调用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与函数式编程是一个设计决策,两种样式都有效,所以如果需要,可以使用一个类。请注意,您还可以存储例如变量中的method1然后当运行method2时,它使用method1的预先计算结果(如果可用)。
答案 1 :(得分:0)
您只需从依赖方法调用依赖方法即可。请看下面这个简单的例子:
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
关于你更大的问题&gt; “更大的问题:我是否应该设计一个类或只为这样的问题编写程序代码?”