python 原生语法不支持 switch,体现了 Python 大道至简的设计思路,有时为了避免啰嗦的 if elif等判断语句,我们可以用字典来代替 switch 的各分支,也即建立表达式和操作的映射。

def add(x, y):return x + y
def sub(x, y):return x - y
def mul(x, y):return x*y
def div(x, y):return float(x)/ydef calc(x, o, y):return operators[o](x, y)# 与 operators.get(o)(x, y) 相比会抛出异常operators = {'+': add, '-': sub, '*': mul, '/': div}

当然我们可以进一步利用 Python 强大的库:

from operator import add, sub, mul, div
operators = {'+': add, '-': sub, '*': mul, '/': div}

python中switch语句用法

转载于:https://www.cnblogs.com/mtcnn/p/9424311.html

Python Tricks(十九)—— switch 的实现相关推荐

  1. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...

  2. 《OpenCv视觉之眼》Python图像处理十九:Opencv图像处理实战四之通过OpenCV进行人脸口罩模型训练并进行口罩检测

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  3. Python基础十九:多进程

    Python基础十九:多进程 Python基础系列内容为学习廖雪峰老师Python3教程的记录,廖雪峰老师官网地址:廖雪峰Python3教程 Author:yooongchun Email:yooon ...

  4. Python ---(十九)Tkinter窗口组件:Toplevel

    上一篇:Python -(十八)Tkinter窗口组件:PanedWindow The Tkinter Toplevel Widget ##简介 Toplevel(顶级窗口)组件类似于 Frame 组 ...

  5. python四十九:封装

    class Animal:# 在属性前加上单下划线,那么该属性就属于类内部的属性# 但python并不会真的阻值你访问私有的属性.但非常不建议调用这种下划线开头的属性_type="动物&qu ...

  6. python三十九:logging模块

    import logginglogging.basicConfig(level=logging.DEBUG # 设置日志级别, 默认为 WARNING,filename="logger.lo ...

  7. [Python图像处理] 十九.图像分割之基于K-Means聚类的区域分割

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  8. 小甲鱼Python第十九讲课后习题

    笔记: 1.内嵌函数:函数内部新创建另一个函数 2.闭包:函数式编程的重要语法,如果在一个内部函数里,对外部作用域(但不是在全局作用域的变量)进行引用,那么内部函数就会被认为是闭包. 3.nonloc ...

  9. python五十九: slots属性

    class Foo:__slots__ = ['name', 'age']f = Foo() print(f.__slots__) print(Foo.__slots__) f.name = 'dsf ...

  10. python二十九:__name__

    __name__是一个变量. 当在执行文件中打印__name__,该变量内容是'__main__' def add(x,y):print("add")return x+ydef s ...

最新文章

  1. 精益业务分析宣言解读
  2. 软件需求管理用例方法二
  3. 137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数...
  4. pyhanlp 分词与词性标注
  5. 如何在开发资源或能力不足的情况下进行敏捷开发?
  6. java中邮箱发送_java实现邮箱发送(java mail)
  7. Google发转码工具 可将安卓程序转至iOS
  8. python12_Python 12 基础知识
  9. 算法:回溯十七 Combination Sum III挑选数组中规定个数元素的和为指定数
  10. 启动Oracle的图像化管理工具OEM报错
  11. 微信小程序游戏——飞机大战
  12. ppt中插入html格式图表
  13. ora01950-对象空间无权限
  14. Vultr与阿里云结合自动换IP的解决方案
  15. 兴华苑社区关爱空巢老人社会实践
  16. 日期转换 例如 二零零六年十二月二十一日 转换成 2006年12月21日
  17. python运行时关闭硬件信息-Python实现的读取电脑硬件信息功能示例
  18. 微信小程序表白墙管理系统带后端带说明
  19. jackson学习之五:JsonInclude注解
  20. 硬盘io监控linux,zabbix3.2监控linux磁盘IO

热门文章

  1. 几种常用的清除浮动方法(一)
  2. 函数 devm_kzalloc()
  3. React开发(273):异步调用的方式
  4. React开发(262):react中活动时间回显用moment
  5. React-Router面试题汇总
  6. [react-router] 请你说说react的路由是什么?
  7. react(87)--控制禁用disabled
  8. [html] 说说js代码写到html里还是单独写到js文件里哪个好?为什么?
  9. 工作331:uni-修改未完成数据动态渲染
  10. 前端学习(2766):生命周期函数