Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:sum()缺少1个必需的位置参数:';自我';_Python_Python 3.x_Oop - Fatal编程技术网

Python TypeError:sum()缺少1个必需的位置参数:';自我';

Python TypeError:sum()缺少1个必需的位置参数:';自我';,python,python-3.x,oop,Python,Python 3.x,Oop,我是python中OOP的新手,尝试运行这个简单的代码,但我被卡住了 class A(): #class Variable num1 = 25 def __init__(self): self.num2 = 20 pass def sum(self, num3): num = self.num2 print('Constructor number:', num) sum = num + num3 return sum obj = A()

我是python中OOP的新手,尝试运行这个简单的代码,但我被卡住了

class A():
#class Variable
num1 = 25

def __init__(self):
    self.num2 = 20

    pass

def sum(self, num3):
    num = self.num2
    print('Constructor number:', num)
    sum =  num + num3
    return sum


obj = A()
a = A.sum(num3=20)
print(a)
但最终会出错

TypeError: sum() missing 1 required positional argument: 'self'
有人能帮忙吗???

问题在于:

a = A.sum(num3=20)
您不能使用A调用sum()。相反,您应该使用obj

a = obj.sum(num3=20)

您刚刚创建了
A
的一个实例。您应该使用该实例调用您的方法
obj.sum
而不是
A.sum
。请不要用答案中提供的答案替换问题中的代码,这会使答案变得无关紧要。另外,您在提供的新代码中进行了其他更改,导致了新的错误。。。我回滚了您的编辑。我无法这样做,因为我想我被禁止提问