我正在使用一个包含多个条件语句的函数,类似于下面所示的函数:
def apply_function(column, function):
if function == 'function_1':
return function_1(column)
elif function == 'function_2':
return function_2(column)
elif function == 'function_3':
return function_3(column)
elif function == 'function_4':
return function_4(column)
elif function == 'function_5':
return function_5(column)
...
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以减少条件语句的数量并以更Pythonic的方式实现函数并增强性能?
请指教。
创建一个字典并从字符串函数名的键中获取函数:
def apply_function(column, function):
dct = {'function_1': function_1, 'function_2': function_2, 'function_3': function_3
'function_4': function_4, 'function_5': function_5}
return dct[function](column)
Run Code Online (Sandbox Code Playgroud)
或者使用globals:
def apply_function(column, function):
return globals()[function](column)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
236 次 |
| 最近记录: |