python switch..case 与 三目运算符
2012-07-19 15:56
281 查看
对于三目运算符(ternary operator),python可以用conditional expressions来替代
如对于x<5?1:0可以用下面的方式来实现
1if x<5else 0
注: conditional expressions是在python 2.5之前引入的,所以以上代码仅适用于2.5以及之后的版本
对于2.5之前的版本,可以用下面这种形式
X<5and1or 0
Python不像C/C++,Java等有switch-case的语法。不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现。
比如PHP中的如下代码:
?
Python的等价实现为:
?
如果是稍微复杂一点的函数,也可以做到,比如我们计算加减乘除,函数定义如下:
?
如果是switch实现的话,case(‘操作数’)来判断之行的对应函数。看看Python的实现:
?
这里用的结构如下:
?
还有更加复杂的就是自定义一个Switch类了,可以参考http://code.activestate.com/recipes/410692-readable-switch-construction-without-lambdas-or-di/
如对于x<5?1:0可以用下面的方式来实现
1if x<5else 0
注: conditional expressions是在python 2.5之前引入的,所以以上代码仅适用于2.5以及之后的版本
对于2.5之前的版本,可以用下面这种形式
X<5and1or 0
Python不像C/C++,Java等有switch-case的语法。不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现。
比如PHP中的如下代码:
?
?
?
?
?
相关文章推荐
- Python switch/case语句实现方法
- python:一种代替 switch--case 的方法
- python3的switch case
- Python中为什么没有switch-case
- python语言没有switch-case语句
- Python: 没有switch-case语句
- 【Python Trick】Python的switch-case实现
- python2.7通过字典实现java的switch-case模式匹配(代码有注释)
- python 实现switch/case语句
- Python 中的switch-case
- Python为什么没有switch/case语句?
- 浅谈python为什么不需要三目运算符和switch
- Python中switch-case实现(转)
- Why Doesn't Python Have Switch/Case?
- python switch…case语法
- Python里如何实现C中switch...case的功能
- 为什么Python中没有Switch/Case语句?
- Why Doesn't Python Have Switch/Case?
- 语法技巧(三目运算符、switch...case...)
- python中Switch/Case实现的示例代码