gpt4 book ai didi

允许可选参数的 Python switch case

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:38 24 4
gpt4 key购买 nike

我知道 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() 需要接受(可选)参数?

最佳答案

你可以使用 partial

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()

关于允许可选参数的 Python switch case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36648887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com