2024-10-01 22:42:28 发布
网友
我在函数中有一长串条件:
if x == "a": return function_a() elif "b" in x: return function_b() elif x == "c string": return function_c() elif x == "d string": return function_d() else: function_e()
我如何简化它,从而降低功能的认知复杂性
这是我的看法:
def function_a(): return 'a' def function_b(): return 'b' def function_c(): return 'c' def function_d(): return 'd' def function_e(): print('e') x = 'b' L = { 'a': function_a(), 'c string': function_c(), 'd string': function_d() } def reduced(): try: L[x]() except KeyError: if 'b' in x: return function_b() else: function_e() print(reduced())
如果有人能改进它
你可以这样做:
def function_a(): print("First function") def function_b(): print("Second function") x = 'b' fns = {'a': function_a, 'b': function_b} fns[x]()
Python没有switch语句,所以一个常见的替代方法是使用字典来“选择”使用哪个选项。在本例中,期望的值a,b,c,d...是字典中的键,相应的函数是该键的值
a,b,c,d...
要执行正确的函数,只需使用返回函数的fns[x]访问字典,然后使用()括号调用函数
fns[x]
()
这是我的看法:
如果有人能改进它
你可以这样做:
Python没有switch语句,所以一个常见的替代方法是使用字典来“选择”使用哪个选项。在本例中,期望的值
a,b,c,d...
是字典中的键,相应的函数是该键的值要执行正确的函数,只需使用返回函数的
fns[x]
访问字典,然后使用()
括号调用函数相关问题 更多 >
编程相关推荐