类Summator():def transform(self,n):返回n
def sum(self, N):
a = 0
for i in range(N + 1):
a += Summator.transform(i)
return a
SquareSummator类(Summator):def init(自身):通过
def transform(self, n):
return n ** 2
CubeSummator类(求和器):def init(自身):通过
def transform(self, n):
return n ** 3
TypeError:transform()缺少1个必需的位置参数:'n'
尝试像这样更改代码:
def sum(self, N):
a = 0
for i in range(N + 1):
a += self.transform(i)
return a
关于您的代码为何不起作用的原因:您是通过类名称而不是其实例来调用实例方法。