どちらがより良い最適化ですか?
- 'string'を受け取る一連のif/elseステートメントは、それに適切な関数を返します。(約40-50 if / elseステートメント)。
- キーと値のペアを維持する辞書。文字列としてのキー、関数オブジェクトとしての値、および関数オブジェクトを検索して返すための1つのメイン関数。
上記のメソッドを使用して実際に関数オブジェクトを返すメイン関数は、数百万回または数十億回呼び出されるため、これをインテリジェントに行う必要があります。より良い方法は何でしょうか?
例えば
dict['str1'] = func1
dict['str2'] = func2
and so on..
def main_func(str):
return dict[str]
または
def main_func(str):
if 'str1':
return func1
elif 'str2':
return func2
どちらがいいでしょう..?そのような文字列が50〜60個あり、このプロセスは数十億回必要です。
関数オブジェクトを辞書内に、関数自体に格納する:-
def func1():
if dict.has_key('str1'):
dict['str1'] = func1
-- do something --
これと上記のどちらが良いですか。これはずっときれいに見えます。ただし、これらの関数は何度も呼び出されるため、has_key関数も何度も呼び出されることに注意してください。
ありがとう