【问题标题】:having an error : "missing 1 required positional argument", even though i am entering the argument出现错误:\"缺少 1 个必需的位置参数\",即使我正在输入参数
【发布时间】:2023-01-16 05:52:38
【问题描述】:
class sum:
    def fx(self, op, a, b, c, d):
        if(op == 1):
            self.output = self.addition(a, b, c, d)
        else:
            self.output = self.subtraction(a, b, c, d)

    def addition(self, a, b, c, d):
        return a+b+c+d

    def subtraction(self, a, b, c, d):
        return a-b-c-d

x = sum.fx(1, 1, 2, 3, 4)

上面的代码报错

x = sum.fx(1, 1, 2, 3, 4) 类型错误:sum.fx() 缺少 1 个必需的位置参数:'d'

我显然输入了值参数“d”,但它说我不是。它应该给出输出“10”

【问题讨论】:

  • sum 是班级的名字。您没有创建它的实例,因此这样调用成员方法是行不通的。完成这项工作的一种方法是sum().fx(1, 1, 2, 3, 4)

标签: python typeerror


【解决方案1】:

它应该是sum().fx(...)。您传递的第一个参数被认为是类 (self) 的实例,但如果我们考虑到这一点,那么您缺少一个需要传递的参数 d

在这种情况下,您应该首先实例化以调用这些方法。

注意:通过使用self我们可以在python中访问类的属性和方法。在您的情况下,即使您提供额外的随机参数.fx(1,1,2,3,4),它稍后也会遇到错误。因为你没有类的实例。

【讨论】:

    猜你喜欢
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 2014-09-13
    • 2020-10-12
    • 2020-08-13
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多