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)会在functionsclass的基础上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")