Python开关案例允许可选参数
发布于 2021-01-29 16:43:08
我知道python中没有切换用例,可以使用字典代替。但是,如果我想将参数传递给函数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()需要采用(可选)参数?
关注者
0
被浏览
27
1 个回答
-
您可以使用部分
from functools import partial def zero(number): return number == "zero" def one(): return "one" def numbers_to_functions_to_strings(argument): switcher = { 0: partial(zero, argument), 1: one, 2: lambda: "two", } func = switcher.get(argument, lambda: "nothing") return func()