python里有没有类似与c语言switch...case...的条件判断语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python里有没有类似与c语言switch...case...的条件判断语句相关的知识,希望对你有一定的参考价值。
有if 、while循环。if elif else 可以实现你说的这个switch。num = raw_input('please input number :')
if num < 0:
print 'num 小于 0'
elif num = 0:
print 'num等于0'
elif num >0:
print 'num 大于0'
else:
print 'num 不是数字 '
大体是这么个意思了,数字判断,要转换类型。 参考技术A 1、C语言里switch 的本质是什么呢?如果会反汇编的话,可以自己研究发现,switch实际上有一个hash表,系统是通过查表来实现跳转的。
2、弄清这个问题之后,转到python的话,就可以用dict来实现:
假定输入in1 执行函数fun1,输入in2 执行函数fun2,输入in3 执行函数fun3,
d = 'in1':fun1,'in2':fun2,'in3':fun3
调用的时候就这么写,arguments是输入参数 参考技术B 没有的,只能if elif本回答被提问者采纳
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里有没有类似与c语言switch...case...的条件判断语句的主要内容,如果未能解决你的问题,请参考以下文章