Python实现类似switch...case功能】的更多相关文章

最近在使用Python单元测试框架构思自动化测试,在不段的重构与修改中,发现了大量的if...else之类的语法,有没有什么好的方式使Python具有C/C#/JAVA等的switch功能呢? 在不断的查找和试验中,发现了这个:http://code.activestate.com/recipes/410692/,并在自己的代码中大量的应用,哈哈,下面来看下吧: 下面的类实现了我们想要的switch. class switch(object): def __init__(self, value)…
本篇将详细介绍Python 类的成员.成员修饰符.类的特殊成员. 类的成员 类的成员可以分为三大类:字段.方法和特性. 注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段. 而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份. 一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Province: # 静态字段 country…
与我之前使用的所有语言都不同,Python没有switch/case语句.为了达到这种分支语句的效果,一般方法是使用字典映射: def numbers_to_strings(argument): switcher = { 0: "zero", 1: "one", 2: "two", } return switcher.get(argument, "nothing") 这段代码的作用相当于: function(argument)…
def add(): print('add') def sub(): print('sub') def exit(): print('exit') choice = { '1' : add, '2' : sub, '3' : exit} item = input('please input your number! ') if item in choice: choice[item]() 运行结果: please input your number! 2 sub…
Python不像C/C++,Java等有switch-case的语法.不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现. 字典+函数实现switch模式下的四则运算:(switch 下运算符只用判断一次,不同于 if .elsif 判断) 法1:-- 代码[root@bigdata01 ~]# cat t1.py #!/usr/bin/python#coding:utf-8 def add(x,y): return x+y def sub(x,y): return…
终于知道了python中映射的设计哲学. 我自己写的code : class order_status_switcher(object): def get_order_status(self,argument= checkUserAppBookDateResult(appkey,"",1,token)): #dispatch method method_name = 'number_'+str(argument.get("data").get("order…
学习Python过程中,发现没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现.所以不妨自己来实现Switch/Case功能. 方法一 通过字典实现 def foo(var): return { 'a': 1, 'b': 2, 'c': 3, }.get(var,'error') #'error'为默认返回值,可自设置 方法二 通过匿名函数实现 def foo(var,x): return { 'a': lambda x: x+1, 'b':…
不同于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':       …
转载:http://python.jobbole.com/82008/ 为什么Python中没有Switch/Case语句? 不同于我用过的其它编程语言,Python 没有 switch / case 语句.为了实现它,我们可以使用字典映射:   Python def switch_test_item(item): switcher = { "CPU": 0, "Memory":1, "BIOSVER":2, "FAN":3,…
python没有switch case 不过可以通过建立字典实现类似的功能 例子:根据输入的年月日,判断是该年中的第几天 y = int(input('请输入年:')) m = int(input('请输入月:'))d = int(input('请输入日:')) #建立月份对应天数增加的字典 实现了类似C语言中 switch...case的功能month_dict = {1:0, 2:31, 3:59, 4:90, 5:120, 6:151, 7:181, \ 8:212, 8:243, 10:…