私はPythonにスイッチケースがなく、代わりに辞書を使用できることを理解します。しかし、もし私が引数zero()を引数に渡したいのであれば、引数を一つ()に渡したいのですか?私はこれに関連する質問は見つけられませんでした。オプションの引き数を許可するPythonスイッチケース
def zero(number):
return number == "zero"
def one():
return "one"
def numbers_to_functions_to_strings(argument):
switcher = {
0: zero,
1: one,
2: lambda: "two",
}
# Get the function from switcher dictionary
func = switcher.get(argument, lambda: "nothing")
# Execute the function
return func()
2つのケースに分けることなくこれを実装する最も単純な方法は何ですか?私はfunc()が(オプションの)引数を取る必要があると思いますか?
どの引数は '0'で渡しますか? – AKS
'lambda'または' functools.partial'が動作します。マップ内のすべての関数が、それらがすべて*使用されていなくても、同じ引数を少なくとも受け入れるように再構成します。 – jonrsharpe