python类中的重载方法

时间:2018-09-03 11:53:51

标签: python class numpy overloading

我试图在方法重载中添加numpy数组,但出现类似TypeError的错误:add()缺少1个必需的位置参数:'n3'

import numpy as np
class addition:
    def add(self,n1,n2):
        return n1+n2
    def add(self,n1,n2,n3):
        return n1+n2+n3
s=np.array([[1,2,3],[3,4,4]])
s1=np.array([[1.0,2,3],[3,4,4]])
s3=np.array([[1.0,2.4,3.7],[3,4,4]])
c=addition()
print(c.add(1,2))

1 个答案:

答案 0 :(得分:0)

Python不支持重载。实际方法将是最新定义的方法,您将得到错误提示。

相反,请使用*args

def add(self, *args):
    return sum(args)