python case_python技巧 switch case语句

不同于C语言和SHELL,python中没有switch case语句,关于为什么没有,官方的解释是这样的

使用Python模拟实现的方法:

def switch_if(fun, x, y):

if fun == 'add':

return x + y

elif fun == 'sub':

return x - y

elif fun == 'mul':

return x * y

elif fun == 'div':

return x / y

else:

return None

def switch_dict(fun, x, y):

return {

'add': lambda: x + y,

'sub': lambda: x - y,

'mul': lambda: x * y,

'div': lambda: x / y,

}.get(fun,None)()

print("switch_if('add',1,2):",switch_if('add',1,2))

print("switch_if('sub',1,2):",switch_if('sub',1,2))

print("switch_if('mul',1,2):",switch_if('mul',1,2))

print("switch_if('div',1,2):",switch_if('div',1,2))

print("switch_dict('add',1,2):",switch_dict('add',1,2))

print("switch_dict('sub',1,2):",switch_dict('sub',1,2))

print("switch_dict('mul',1,2):",switch_dict('mul',1,2))

print("switch_dict('div',1,2):",switch_dict('div',1,2))

switch_if('add',1,2): 3

switch_if('sub',1,2): -1

switch_if('mul',1,2): 2

switch_if('div',1,2): 0.5

switch_dict('add',1,2): 3

switch_dict('sub',1,2): -1

switch_dict('mul',1,2): 2

switch_dict('div',1,2): 0.5

Python | 基础系列 · Python为什么没有switch/case语句?

与我之前使用的所有语言都不同,Python没有switch/case语句.为了达到这种分支语句的效果,一般方法是使用字典映射: def numbers_to_strings(argument): sw ...

python中Switch/Case实现

学习Python过程中,发现没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现.所以不妨自己来实现Switch/Case功能. 方法一 通过字典实现 ...

为什么说在使用多条件判断时switch case语句比if语句效率高?

在学习JavaScript中的if控制语句和switch控制语句的时候,提到了使用多条件判断时switch case语句比if语句效率高,但是身为小白的我并没有在代码中看出有什么不同.去度娘找了半个小 ...

java中的Switch case语句

java中的Switch case 语句 在Switch语句中有4个关键字:switch,case break,default. 在switch(变量),变量只能是整型或者字符型,程序先读出这个变量的 ...

switch… case 语句的用法

switch… case 语句的用法   public class Test7 { public static void main(String[] args) { int i=5; switch(i ...

if语句,if...else if语句和switch...case语句的区别和分析

前段时间在工作中遇到了一个关于条件判断语句的问题,在if语句,if else if语句和switch case语句这三者之间分析,使用其中最有效率的一种方法. 所以就将这个问题作为自己第一篇博客的主要 ...

为什么switch...case语句比if...else执行效率高

在C语言中,教科书告诉我们switch...case...语句比if...else if...else执行效率要高,但这到底是为什么呢?本文尝试从汇编的角度予以分析并揭晓其中的奥秘. 第一步,写一个d ...

JavaScript基础知识(if、if else、else if、while、switch...case语句)

13.语句 概念:就是分号(:) 代表一条语句的结束 习惯:一行只编写一条语句:一行编写多条语句(代码可读性较差) 语句块:可以包含多条语句     "{ }"将多条语句包裹 u ...

Why Doesn't Python Have Switch/Case?

Why Doesn't Python Have Switch/Case? Tuesday, June 09, 2015 (permalink) Unlike every other programmi ...

随机推荐

eclipse导入myeclipse的web项目没法识别问题解决

(转载)原作者地址:http://www.cnblogs.com/Topless/archive/2011/11/23/2260085.html 1.进入项目目录,找到.project文件,打开. 2 ...

关于卡尔曼滤波(Kalman Filter)的很好讲解

http://bilgin.esme.org/BitsAndBytes/KalmanFilterforDummies C#代码: double[] Data = new double[] { 0.39 ...

Android 2.1 和 Android 4.4 工程目录超详细对比及详解

在搭建Android开发环境及简单地建立一个HelloWorld项目后,本篇将通过HelloWorld项目来介绍Android项目的目录结构.本文的主要主题如下: 1.1.HelloWorld项目的目 ...

Light OJ 1199 - Partitioning Game (博弈sg函数)

D - Partitioning Game Time Limit:4000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu ...

用shell查找某个目录下最大文件

网上资料学习: 1.查找当前目录下最大文件(包括子目录里文件): find . -type f -exec stat -c "%s %n" {} \; | sort -nr | h ...

禁止选择文本和禁用右键 v1.0

var zhonghao={ //绑定事件 myAddEvent: function(obj, sEvent, fn){if(obj.attachEvent){obj.attachEvent('on' ...

【POJ2196】Specialized Four-Digit Numbers(暴力打表)

一道水题,只要会复制粘贴就好! #include #include #include #include ...

KNN(k-nearest neighbor的缩写)又叫最近邻算法

KNN(k-nearest neighbor的缩写)又叫最近邻算法 机器学习笔记--KNN算法1 前言 Hello ,everyone. 我是小花.大四毕业,留在学校有点事情,就在这里和大家吹吹我们的 ...

HTML <form> 标签的 enctype 属性

HTML

标签 定义和用法 enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码. 默认地,表单数据会编码为 "application/x-www- ...

VS IIS 注册 以及IIS浏览提示无权限访问

VS2008 IIS重新注册2008-11-21 9:06无法显示XML页--名称以无效字符开头2008-10-17 15:19无法显示XML页--名称以无效字符开头.iis处理资源时出错的解决办法2 ...

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值