你好,我是编程新手。当我编写代码时,遇到一个错误,我不明白为什么会出现

问题描述 投票:0回答:1

类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'

python-3.x
1个回答
0
投票

尝试像这样更改代码:

def sum(self, N):
a = 0
for i in range(N + 1):
    a += self.transform(i)
return a

关于您的代码为何不起作用的原因:您是通过类名称而不是其实例来调用实例方法。

© www.soinside.com 2019 - 2024. All rights reserved.