这期内容当中小编将会给大家带来有关怎么在python项目中利用switch实现一个多分支选择功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
if else 判断
我们通过最常用的 if else 判断来实现一段代码
def matching_if(type):
if type == 0:
return '优惠1块钱'
elif type == 1:
return '优惠10块钱'
elif type == 2:
return '优惠100块钱'
return '无优惠'
if __name__ == '__main__':
print(matching_if(1))
print(matching_if(999))
执行结果如下:
'''
打印输出:
优惠10块钱
无优惠
'''
可以使用字典实现 switch case,这种方式易维护,同时也能够减少代码量。如下是使用字典模拟的 switch case 实现:
def matching_dict(type):
types = {
0: '优惠1块钱',
1: '优惠10块钱',
2: '优惠100块钱'
}
return types.get(type, '无优惠')
if __name__ == '__main__':
print(matching_dict(1))
print(matching_dict(999))
代码从整体上看着简洁了很多,那还有没有别的方式呢?
函数判断从代码数量来说并无优势,优势点在于其灵活性,如果根据不同的类型作出大量操作,函数运算无疑是最优的方式
def one():
return '优惠1块钱'
def two():
return '优惠10块钱'
def three():
return '优惠100块钱'
def default():
return '无优惠'
def matching_method(type):
types = {
0: one,
1: two,
2: three
}
method = types.get(type, default)
return method()
if __name__ == '__main__':
print(matching_method(1))
print(matching_method(999))
优雅的代码是程序员的追求之一,作者本人也有一定程度的代码洁癖,所以涉及此类应用,会选择第二种 dict 字典类型应用
这里推出一款 lambda 配合 dict 字典的方式,可以对运算条件作出更为精准的计算
def matching_lambda(type):
matching_dict = lambda x: {
x == 0: '优惠1块钱',
x == 1: '优惠10块钱',
x == 2: '优惠100块钱'
}
return matching_dict(type)[True]
if __name__ == '__main__':
print(matching_lambda(1))
print(matching_lambda(2))
上述就是小编为大家分享的怎么在python项目中利用switch实现一个多分支选择功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。