重载python类的成员

时间:2016-02-03 14:47:49

标签: python python-3.x

我有一个python类 - 它是一个线性判别分类器......所以我在班上有一个训练函数和一个查询函数。

查询函数现在将pandas数据帧作为输入。我希望我的班级能够拍摄带有许多样本的熊猫数据帧...一个带有许多样本的numpy数组或numpy矩阵,以及一个单一的向量 - 列表或numpy数组,其中会有微小的差异在我如何处理每一个。但重要的是函数名称保持不变(与lda.query_with_dataframelda.query_with_matrix等对比。)

查询函数会对每个进行分类并返回一个数据帧。

所以,在其他语言中,我只会'#34;重载"查询函数与其他查询函数采用不同的类型。

有没有办法在python中执行此操作,而无需进行某种手动类型检查字典黑客攻击?

1 个答案:

答案 0 :(得分:1)

实际上这可以通过装饰器来完成,这里的几个不同的例子Decorator for overloading in Python