猿问

在Python中使用位置参数调用函数的问题

是什么导致代码出现问题?这是代码的文本


import numpy as np

class 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)


慕尼黑5688855
浏览 140回答 2
2回答

米脂

self换句话说,类方法的第一个默认参数是类实例本身。在您的代码中,n1将会采用类实例的值,并且n2将会采用 的值1,并且 value 没有留下任何参数2,因此会引发错误。您可以尝试打印出来n1并n2理解我的意思。解决方案:def findMedianSortedArrays(self,n1,n2):     ...如果您不想传递self,请将方法实现为staticmethod,如下所示:@staticmethod def findMedianSortedArrays(n1,n2):     ...这样,函数调用就findMedianSortedArrays可以使用 2 个参数。

慕虎7371278

函数调用: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)
随时随地看视频慕课网APP

相关分类

Python
我要回答