-1
我有功能的合奏:FUNC1,FUNC2,FUNC3,... funcN。基於用戶輸入將僅使用1個功能,例如,如果用戶放置'1',則只會使用func1。到目前爲止,我所做的是將這些功能放在一個分支中:來選擇特定功能的最有效的方法基於輸入
class FunctionEnsembles:
def __init__(self,select_funcion):
self.function_to_select=select_function
def function_to_use(self):
if self.function_to_select=='1':
func1...
elif self.function_to_select=='2':
func2...
...
顯然這不是有效的。當類被實例化時,例如FunctionEnsemble myfunc('1')
,定義了所有的函數。如果調用myfunc.function_to_use,它將遍歷所有分支,這是不可取的。我想要做的是: 功能被選中,類FunctionEnsemble
實例化,而不需要的功能沒有被觸及。
如何有效實現這一目標?非常感謝。
謝謝,字典的方法是有前途的。但我不認爲我可以把這個字典放在__init __(...)函數中。我猜我必須把這個字典放在function_to_use(self)下面? – Void
@Void:這些全局函數或綁定方法是否在'self'上? –
@Void:對於全局函數,我會創建一個全局字典。對於方法,我會在'__init__'中創建字典,所以我可以訪問'self'來獲取綁定方法,然後將該字典存儲在'self'中。 –