是什么导致代码出现问题?这是代码的文本import numpy as npclass Solution(): def findMedianSortedArrays(n1,n2): a=0 n1=np.array(n1) n2=np.array(n2) sum1=0 n3=n1+n2 for i in n3: sum1=sum1+i a=a+1 return (sum1/a)
2 回答
米脂
TA贡献1836条经验 获得超3个赞
self
换句话说,类方法的第一个默认参数是类实例本身。在您的代码中,n1
将会采用类实例的值,并且n2
将会采用 的值1
,并且 value 没有留下任何参数2
,因此会引发错误。
您可以尝试打印出来n1
并n2
理解我的意思。
解决方案:
def findMedianSortedArrays(self,n1,n2): ...
如果您不想传递self
,请将方法实现为staticmethod
,如下所示:
@staticmethod def findMedianSortedArrays(n1,n2): ...
这样,函数调用就findMedianSortedArrays
可以使用 2 个参数。
慕虎7371278
TA贡献1802条经验 获得超4个赞
函数调用:
sum1 = Solution().findMedianSortedArrays(1, 2)
相当于:
solution = Solution() sum1 = solution.findMedianSortedArrays(1, 2)
引自此处:自我的目的是什么?
每个类方法(包括 init)的第一个参数始终是对该类当前实例的引用。按照惯例,这个参数总是被命名为self。init方法中,self指的是新创建的对象;在其他类方法中,它指的是调用其方法的实例。
总而言之:
使用
def findMedianSortedArrays(self, n1, n2): ...
或进行静态调用:
sum1 = Solution.findMedianSortedArrays(1, 2)
添加回答
举报
0/150
提交
取消