Python 如何在 class 中根据不同的输入值调用函数?
Python how to call function base on different input value in a class?
我有一个 class 具有多种功能。给定class外的id
,是否可以根据id值调用函数?
例如,
if id = 1
, 运行 fun1
if id = 2
, 运行 fun2
class functions:
def fun1(self, para1, para2, para3):
pass
def fun2(self, para1, para2, para3):
pass
·
·
·
更准确地说,我想以这种方式调用这些函数。
在另一个 class
id = x
fun(x, para1, para2, para3)
然后fun(x, para1, para2, para3)
会在functions
class的基础上x
调用不同的fun
使用字典将 ID 映射到方法。
func_map = {1: functions.fun1, 2: functions.fun2}
f = functions()
id = int(input("Enter function id:"))
if id in func_map:
params = input("Enter parameters separated by space:").split()
func_map[id](f, *params)
else:
print("Invalid function")
我有一个 class 具有多种功能。给定class外的id
,是否可以根据id值调用函数?
例如,
if id = 1
, 运行 fun1
if id = 2
, 运行 fun2
class functions:
def fun1(self, para1, para2, para3):
pass
def fun2(self, para1, para2, para3):
pass
·
·
·
更准确地说,我想以这种方式调用这些函数。 在另一个 class
id = x
fun(x, para1, para2, para3)
然后fun(x, para1, para2, para3)
会在functions
class的基础上x
fun
使用字典将 ID 映射到方法。
func_map = {1: functions.fun1, 2: functions.fun2}
f = functions()
id = int(input("Enter function id:"))
if id in func_map:
params = input("Enter parameters separated by space:").split()
func_map[id](f, *params)
else:
print("Invalid function")