大家好,我是只谈技术不剪发的 Tony 老师。
Python 没有提供 switch/case 语句实现。所以今天的 Python 小技巧是如何使用字典(Dictionary)模拟实现 switch/case 语句,示例如下:
def dispatch_if(operator, x, y):
if operator == 'add':
return x + y
elif operator == 'sub':
return x - y
elif operator == 'mul':
return x * y
elif operator == 'div':
return x / y
else:
return None
def dispatch_dict(operator, x, y):
return {
'add': lambda: x + y,
'sub': lambda: x - y,
'mul': lambda: x * y,
'div': lambda: x / y,
}.get(operator, lambda: None)()
>>> dispatch_if('mul', 2, 8)
16
>>> dispatch_dict('mul', 2, 8)
16
>>> dispatch_if('unknown', 2, 8)
None
>>> dispatch_dict('unknown', 2, 8)
None
是不是使用字典映射更加简洁易懂呢?
如果你觉得文章有用,欢迎评论📝、点赞👍、推荐🎁
|