函数调用Python中缺少必需的潜在参数

2024-09-27 00:21:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚开始学习Python,当时正在编写一个包含两个不同文件的计算器程序,以了解调用类和函数的概念。类中包含数学运算的文件如下所示:

class standardOpperations:
def __init__(self, primaryNumber, secondaryNumber):
    primaryNumber.self = primaryNumber
    secondaryNumber.self = secondaryNumber
def addition(self, primaryNumber, secondaryNumber):
    print(primaryNumber, "+", secondaryNumber, "=", primaryNumber.self+secondaryNumber)
def subtraction(self, primaryNumber, secondaryNumber):
    print(primaryNumber, "-", secondaryNumber, "=", primaryNumber-secondaryNumber)
def multiplication(self, primaryNumber, secondaryNumber):
    print(primaryNumber, "*", secondaryNumber, "=", primaryNumber * secondaryNumber)
def division(self, primaryNumber, secondaryNumber):
    print(primaryNumber, "/", secondaryNumber, "=", primaryNumber / secondaryNumber)

在另一个文件中,我尝试在这行代码中调用此对象(特别是第一个函数):

number01 = float(input("Please input a number here: "))
number02 = float(input("Please input a second number here: "))
addObj = standardOpperations.addition(number01,number02)

我的问题是,在运行它时,我得到一个错误,指出我缺少一个必需的潜在参数,即使该函数只使用两个数字。我真的非常感谢任何能帮助我发现错误并帮助程序工作的人。谢谢大家


Tags: 文件函数self程序numberinputdeffloat
2条回答

由于您将每个函数视为静态方法,因此请删除类中任何位置的构造函数和单词self

class standardOpperations:

    def addition(primaryNumber, secondaryNumber):
        print(primaryNumber, "+", secondaryNumber, "=", primaryNumber+secondaryNumber)
    def subtraction(primaryNumber, secondaryNumber):
        print(primaryNumber, "-", secondaryNumber, "=", primaryNumber-secondaryNumber)
    def multiplication(primaryNumber, secondaryNumber):
        print(primaryNumber, "*", secondaryNumber, "=", primaryNumber * secondaryNumber)
    def division(primaryNumber, secondaryNumber):
        print(primaryNumber, "/", secondaryNumber, "=", primaryNumber / secondaryNumber)


>>> standardOpperations.addition(1,2)
1 + 2 = 3

我已经更正了你的代码

请在下面找到工作代码

class standardOpperations:
  def __init__(self, primaryNumber, secondaryNumber):
      self.primaryNumber = primaryNumber
      self.secondaryNumber = secondaryNumber
  def addition(self):
      print(self.primaryNumber, "+", self.secondaryNumber, "=", self.primaryNumber+self.secondaryNumber)
  def subtraction(self):
      print(self.primaryNumber, "-", self.secondaryNumber, "=", self.primaryNumber-self.secondaryNumber)
  def multiplication(self):
      print(self.primaryNumber, "*", self.secondaryNumber, "=", self.primaryNumber * self.secondaryNumber)
  def division(self):
      print(self.secondaryNumber, "=", self.primaryNumber / self.secondaryNumber)
number01 = float(input("Please input a number here: "))
number02 = float(input("Please input a second number here: "))
addObj = standardOpperations(number01,number02)
addObj.addition()

相关问题 更多 >

    热门问题