我知道在Python中没有switch case语句,可以使用字典代替。但是如果我想将参数传递给函数zero(),而不是传递任何参数给one()怎么办?我没有找到相关的问题。
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()
如何在不将它们分成两种情况的情况下实现最简单的方式?我认为func()需要带上(可选)参数?
zero
中传递了哪个参数? - AKSlambda
或functools.partial
都可以使用。重新构造映射,使得其中所有函数至少接受相同的参数,即使它们并不都使用它们。 - jonrsharpe