我有一個具有多種功能的類。給定一個id類外,是否可以根據 id 值呼叫函式?
例如,
如果id = 1,運行fun1
如果id = 2,運行fun2
class functions:
def fun1(self, para1, para2, para3):
pass
def fun2(self, para1, para2, para3):
pass
·
·
·
更準確地說,我想以這種方式呼叫這些函式。在另一個班級
id = x
fun(x, para1, para2, para3)
然后會在類的基礎上fun(x, para1, para2, para3)呼叫不同的funfunctionsx
uj5u.com熱心網友回復:
使用字典將 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")
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/418838.html
標籤:
上一篇:功能不起作用,說它沒有定義?
