Python分支结构(switch)操作简介

yipeiwu_com5年前Python基础

Python当中并无switch语句,本文研究的主要是通过字典实现switch语句的功能,具体如下。

switch语句用于编写多分支结构的程序,类似与if….elif….else语句。

switch语句表达的分支结构比if…elif…else语句表达的更清晰,代码的可读性更高

但是python并没有提供switch语句。

python可以通过字典实现switch语句的功能,实现方法分为两步:

首先,定义一个字典

其次,调用字典的get()获取相应的表达式。

计算器:

from __future__ import division
def jia(x,y):
 return x+y
def jian(x,y):
 return x-y
def cheng(x,y):
 return x*y
def chu(x,y):
 return x/y
def operator(x,o,y):
 if o=='+':
  print (jia(x,y))
 elif o=='-':
  print (jian(x,y))
 elif o=='*':
  print (cheng(x,y))
 elif o=='/':
  print (chu(x,y))
 else:
  pass
operator(2,'/',4)

用字典来实现switch操作

from __future__ import division
def jia(x,y):
 return x+y
def jian(x,y):
 return x-y
def cheng(x,y):
 return x*y
def chu(x,y):
 return x/y
operator={"+":jia,"-":jian,"*":cheng,"/":chu}
print(operator["+"](3,2)) #operator["+"]等同于jia
print (jia(3,2)) #operator["+"](3,2)等同于jia(3,2)

运行结果:
5
5

from __future__ import division
def jia(x,y):
 return x+y
def jian(x,y):
 return x-y
def cheng(x,y):
 return x*y
def chu(x,y):
 return x/y
operator={"+":jia,"-":jian,"*":cheng,"/":chu}
def f(x,o,y):
 p=operator.get(o)(x,y)
 print(p)
f(15,'/',5)

总结

以上就是本文关于Python分支结构(switch)操作简介的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

tensorflow的计算图总结

计算图 在 TensorFlow 中用计算图来表示计算任务。 计算图,是一种有向图,用来定义计算的结构,实际上就是一系列的函数的组合。 用图的方式,用户通过用一些简单的容易理解的数学函...

Python 异常的捕获、异常的传递与主动抛出异常操作示例

Python 异常的捕获、异常的传递与主动抛出异常操作示例

本文实例讲述了Python 异常的捕获、异常的传递与主动抛出异常操作。分享给大家供大家参考,具体如下: 异常的捕获 demo.py(异常的捕获): try: # 提示用户输入一...

详解Python并发编程之从性能角度来初探并发编程

详解Python并发编程之从性能角度来初探并发编程

. 前言 作为进阶系列的一个分支「并发编程」,我觉得这是每个程序员都应该会的。 并发编程 这个系列,我准备了将近一个星期,从知识点梳理,到思考要举哪些例子才能更加让人容易吃透这些知识...

python 实现turtle画图并导出图片格式的文件

python 实现turtle画图并导出图片格式的文件

如下所示: from turtle import* import turtle setup(800,700,300,50) penup() seth(90) fd(100) seth...

Python实现快速排序的方法详解

本文实例讲述了Python实现快速排序的方法。分享给大家供大家参考,具体如下: 说起快排的Python实现,首先谈一下,快速排序的思路: 1、取一个参考值放到列表中间,初次排序后,让左侧...