从另一个方法调用方法,该方法在同一个 class 中接受 3 个参数
calling method from another method which takes 3 parameters in the same class
我正在为计算器编写代码,方法是创建 class 名称“计算器”,它采用加、减、乘、除方法。这些方法采用两个参数并执行相应的操作。
现在,我必须创建另一个带有 3 个参数的方法名称“drive_command”。第一个参数是字符串,可以是'add'、'subtract'、'multiply'、'divide',另外两个参数是数字,会根据我们将在 drive_command 方法中传递的字符串。
那么我应该如何从另一个采用相同参数的方法调用方法class?
class calculator:
def __init__(self):
pass
def add(self, num1, num2):
self.num1 = num1
self.num2 = num2
return num1+num2
def drive_command(command,x,y):
if command == "add":
self.add()
首先,您的 drive_command
行语法不正确 - 您的参数应该与 drive_command(self, command, x, y)
相同,否则 python 会混淆。要调用您的 add
函数,只需使用以下内容:
self.add(x,y)
代替
self.add()
希望对您有所帮助!
只需在 drive_command function.And 调用 self.add(x,y).
中添加 self 参数
class calculator:
def __init__(self):
pass
def add(self, num1, num2):
self.num1 = num1
self.num2 = num2
return num1+num2
def drive_command(self,command,x,y):
if command == "add":
return self.add(x,y)
c = calculator()
value = c.drive_command('add',10,10)
print(value)
使用getattr
函数:
class calculator:
def __init__(self):
pass
def add(self, num1, num2):
return num1+num2
def drive_command(self, command,x,y):
return getattr(self, command)(x, y)
c = calculator()
print(c.drive_command('add',10,10))
我正在为计算器编写代码,方法是创建 class 名称“计算器”,它采用加、减、乘、除方法。这些方法采用两个参数并执行相应的操作。
现在,我必须创建另一个带有 3 个参数的方法名称“drive_command”。第一个参数是字符串,可以是'add'、'subtract'、'multiply'、'divide',另外两个参数是数字,会根据我们将在 drive_command 方法中传递的字符串。
那么我应该如何从另一个采用相同参数的方法调用方法class?
class calculator:
def __init__(self):
pass
def add(self, num1, num2):
self.num1 = num1
self.num2 = num2
return num1+num2
def drive_command(command,x,y):
if command == "add":
self.add()
首先,您的 drive_command
行语法不正确 - 您的参数应该与 drive_command(self, command, x, y)
相同,否则 python 会混淆。要调用您的 add
函数,只需使用以下内容:
self.add(x,y)
代替
self.add()
希望对您有所帮助!
只需在 drive_command function.And 调用 self.add(x,y).
中添加 self 参数class calculator:
def __init__(self):
pass
def add(self, num1, num2):
self.num1 = num1
self.num2 = num2
return num1+num2
def drive_command(self,command,x,y):
if command == "add":
return self.add(x,y)
c = calculator()
value = c.drive_command('add',10,10)
print(value)
使用getattr
函数:
class calculator:
def __init__(self):
pass
def add(self, num1, num2):
return num1+num2
def drive_command(self, command,x,y):
return getattr(self, command)(x, y)
c = calculator()
print(c.drive_command('add',10,10))