使用Python中的类来实现加法并避免缺少位置参数的TypeError的正确方法是:

huangapple go评论63阅读模式
英文:

What is the right way to implement addition using class in Python and avoid TypeError with missing positional argument?

问题

TypeError: Add.add() 缺少一个必需的位置参数:'b'。

英文:
class Add:

    def __init__(self,a,b):
        self.a = a
        self.b = b

    def add(a,b):
       return self.a + self.b

obj = Add(3,4)
print(obj.add())

Error message:

print(obj.add())
          ^^^^^^^^^
TypeError: Add.add() missing 1 required positional argument: 'b'

答案1

得分: 0

只应将self作为参数传递。其他值在实例本身上访问。

def add(self):
   return self.a + self.b
英文:

You should only take self as a parameter. The other values are accessed on the instance itself.

def add(self):
   return self.a + self.b

答案2

得分: 0

class Add:

	def __init__(self,a,b):
		self.a = a
		self.b = b

	def add(self):
		return self.a + self.b

obj = Add(3,4)
print(obj.add())
英文:
class Add:

	def __init__(self,a,b):
		self.a = a
		self.b = b

	def add(self):
		return self.a + self.b

obj = Add(3,4)
print(obj.add())

huangapple
  • 本文由 发表于 2023年5月26日 11:44:03
  • 转载请务必保留本文链接:https://go.coder-hub.com/76337529.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定