文档章节

走进Python世界(六)流程控制 2. 分支控制(Swith)

Garrry
 Garrry
发布于 2015/08/10 00:19
字数 266
阅读 202
收藏 4

在大部分的编程语言中,都有分支控制语句 switch。

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

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

但是python并没有提供Switch语句

python中的Switch实现

python可以通过字典实现switch语句功能

实现方法分为两布

首先,定义一个字典

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


函数调用

通过字典调用函数,返回相应的值

{1:case1,2:case}.get(x,lambda*args,**key:)()
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 chu ##### 打印方法对象
print operator["/"](3,2)  ###### 打印出1.5
print operator["("](3.2)  ###### 报错,没有key值(

def f(x,o,y):
    print operator.get(o)(x,y)
    print operator.get(0)(x,y,*args,**kwargs)

f(3,"+",2)    #### 打印出5


© 著作权归作者所有

共有 人打赏支持
Garrry
粉丝 24
博文 46
码字总数 48703
作品 0
浦东
技术主管
私信 提问
走进Python世界(六)流程控制 1. 条件控制

if 语句 if语句由一个布尔表达式后跟一个或多个语句。 if 语句的语法结构如下: if expression: statements(s) 注:Python 使用缩进作为其语句分组的方法,建议使用4个空格代替缩进。 缩进相...

Garrry
2015/07/29
0
0
探秘Spring AOP (一) 初始化认识

探秘Spring AOP 1、走进面向前面编程 2、什么是AOP 一、是一种编程范式,不是编程语言 二、解决特定问题,不能解决所有问题 三、是OOP的补充,不是替代 3、AOP的初衷 一、解决Don't Repeat ...

来来来来来
2017/10/20
0
0
走进Python世界(四)基本语法

Python标识符 Python标识符是用来标识一个变量,函数,类,模块或其他对象的名称。一个标识符开始以字母A到Z或a〜z或后跟零个或多个字母下划线(_),下划线和数字(0〜9)。 Python中标识符...

Garrry
2015/07/19
0
0
Python开发(基础):初识Python

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quo...

wbb827
2018/07/03
0
0
走进Python世界(一)入门介绍

什么是Python Python是一种解释性,面向对象的,带有动态语义的高级程序设计语言。它能够使你在编程时能够保持一种简洁易懂的风格,不用过多考虑功能实现的。 Python的几个重要阶段 CNRI 时期...

Garrry
2015/07/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Map的遍历方式

import java.util.*; public class a_21 { public static void main(String[] args) { Map<Integer,Integer> map= new HashMap<Integer, Integer>(); for(int i=0;i<6;i++) ......

南桥北木
27分钟前
0
0
总结:线程间频繁切换为什么耗费资源?

因为线程切换的时候,CPU需要将此线程的所有执行状态保存起来,如线程编号,执行到的位置等,然后再去执行其它线程。

浮躁的码农
58分钟前
3
0
PHP版本高于5.5时,curl文件上传必须使用CurlFile对象

坑了我一天,之前@的方法各种上传不成功文件。都怀疑服务端有bug了。

叫我哀木涕
59分钟前
1
0
js算法总结

数列求和 等差数列求和 function sum(a0,d,n){//a0->首项,d->公差,n->项数//(首项+末项)*项数/2return (a0+(a0+(n-1)*d))*n/2;} 等比数列求和 function sum(a0,q,n){//a0->首项,q......

祖达
今天
4
0
小白?转型?毕业生?外行学习快速入行大数据开发指南

这篇文章中,本文将针对三种不同的、想要进入数据科学领域的人群,给出自己的经验,帮助他们迅速有效入行。 虽然没有适合每个人的万能解决方案,但这三类建议值得想转行的你一看。 第1类:新...

董黎明
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部