【问题标题】:TypeError: transform() missing 1 required positional argument: n类型错误:transform() 缺少 1 个必需的位置参数:n
【发布时间】:2020-04-05 12:25:57
【问题描述】:

我是编程新手。当我编写代码时,我遇到了一个错误,我无法理解它为什么会出现。 这是下面的代码。

class Summator():   
    def transform(self, n):
    return n

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



class SquareSummator(Summator):
    def __init__(self):
        pass

    def transform(self, n):
        return n ** 2


class CubeSummator(Summator):
    def __init__(self):
        pass

    def transform(self, n):
        return n ** 3

这是我遇到的错误。

TypeError: transform() 缺少 1 个必需的位置参数:'n'

【问题讨论】:

  • 你是通过类引用而不是该类的实例调用类方法

标签: python


【解决方案1】:

尝试像这样更改您的代码:

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

至于为什么您的代码不起作用:您是通过类名而不是其实例调用实例方法。

【讨论】:

  • 如果您可以检查我的答案旁边的勾号以接受它,我将不胜感激:)
猜你喜欢
  • 1970-01-01
  • 2022-01-11
  • 1970-01-01
  • 2018-09-12
  • 2021-08-05
  • 2021-07-06
  • 2021-08-05
  • 2017-07-23
相关资源
最近更新 更多