关闭

Python中Switch Case语法实现

标签: pythonswitch
989人阅读 评论(0) 收藏 举报
分类:

参考文章:http://blog.csdn.net/suiyunonghen/article/details/3734135

python为了追求简洁,没有switch case用法。代替的方式可以用多个if else,最好的就是使用字典方式。
原理:
switch实际上有一个hash表,系统是通过查表来实现跳转的。弄清这个问题之后,转到python的话,你就用dict来实现假定输入in1 执行函数fun1,输入in2 执行函数fun2,输入in3 执行函数fun3,d ata= {‘in1’:fun1,’in2’:fun2,’in3’:fun3}调用的时候就这么写啦,arguments是输入参数d【x】(arguments)

举个栗子:

#定义函数
def jia(x,y):
    print x+y
def jian(x,y):
    print x-y
def cheng(x,y):
    print x*y
def chu(x,y):
    print x/y
#字典
operator = {'+':jia,'-':jian,'*':cheng,'/':chu}
#字典函数-->get方法 返回指定key的值(这里的值是函数)
def f(x,o,y):
    operator.get(o)(x,y)

f(3,'+',2)

运行结果:

5

Process finished with exit code 0

分析:先定义函数,把函数名作为值放入字典。使用字典的get方法根据输入的key值获取函数(再带入参数计算)

0
0
查看评论

Python switch/case语句实现方法

与Java、C\C++等语言不同,Python中是不提供switch/case语句的,本文介绍了三种方式可以模拟实现switch/case语句,分别是:if...elif...elif...else, Pyhon字典和在类中创建调度方法。就目前而言,个人建议在实现开发中使用字典的方法实现switch...
  • l460133921
  • l460133921
  • 2017-07-09 16:27
  • 519

Python中实现switch功能

MarkdownPad Document /* GitHub stylesheet for MarkdownPad (http://markdownpad.com) */ /* Author: Nicolas Hery - http://nicolashery.com */ /* Ve...
  • LS7011846
  • LS7011846
  • 2016-09-22 20:05
  • 6152

Python中Swithch Case语法实现

其他语言中,switch语句大概是这样的switch (var){    case value1: do_some_stuff1();    case value2: d...
  • suiyunonghen
  • suiyunonghen
  • 2009-01-08 13:58
  • 71314

Python中Swithch Case语法实现

http://blog.csdn.net/suiyunonghen/article/details/3734135 http://blog.csdn.net/longshengguoji/article/details/9918645 其他语言中,switch语句大概是这样的 swit...
  • hshl1214
  • hshl1214
  • 2015-12-15 11:08
  • 4327

python中switch语句用法

python中是没用switch语句的,这应该是体现python大道至简的思想,python中一般多用字典来代替switch来实现。 #coding: utf-8 from __future__ import division def jia(x,y): print x+y def j...
  • longshengguoji
  • longshengguoji
  • 2013-08-12 10:50
  • 59638

Python的switch实现

通常情况下,我们常用字典函数实现Python的switch语句: #coding:utf8 #add minus divide using python from __future__ import division def jia(x,y): return x+y def jian(x,y...
  • gemire
  • gemire
  • 2014-02-25 19:29
  • 7305

python:一种代替 switch--case 的方法

python:一种代替 switch–case 的方法除了使用 if-elif-else 之外,还可以这样用def add(a, b): return a + bdef minus(a, b): return a - bdef main(mod, a, b): return ...
  • baobao3456810
  • baobao3456810
  • 2016-09-19 17:08
  • 1578

python中 switch 语句的实现

文章内容参考http://code.activestate.com/recipes/410692/#coding:utf-8 class switch(object): def __init__(self, value): self.value = value ...
  • cz9025
  • cz9025
  • 2017-03-19 23:44
  • 468

Python中Swithch Case语法实现

其他语言中,switch语句大概是这样的 switch (var){    case value1: do_some_stuff1();    case value2: ...
  • zhongbeida_xue
  • zhongbeida_xue
  • 2017-03-22 16:52
  • 308

Python中switch-case实现

Python中switch-case实现 Python不像C/C++,Java等有switch-case的语法。不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现。 比如PHP中的如下代码: ? 1 2 ...
  • yangluoshen
  • yangluoshen
  • 2013-09-05 19:53
  • 695
    个人资料
    • 访问:135369次
    • 积分:2188
    • 等级:
    • 排名:千里之外
    • 原创:88篇
    • 转载:4篇
    • 译文:0篇
    • 评论:22条
    最新评论