Python TypeError:sum()缺少1个必需的位置参数:';自我';
我是python中OOP的新手,尝试运行这个简单的代码,但我被卡住了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()
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
。请不要用答案中提供的答案替换问题中的代码,这会使答案变得无关紧要。另外,您在提供的新代码中进行了其他更改,导致了新的错误。。。我回滚了您的编辑。我无法这样做,因为我想我被禁止提问