Python中if-else语句的多种写法
来源:互联网 发布:数据恢复大师怎么用 编辑:程序博客网 时间:2024/05/17 02:44
原文:http://www.open-open.com/lib/view/open1346511811678.html
a, b, c = 1, 2, 3
1.常规
if a>b:
c = a
else:
c = b
2.表达式
c = a if a>b else b
3.二维列表
c = [b,a][a>b]
4.传说是源自某个黑客
c = (a>b and [a] or [b])[0]
试验了下 c = a>b and a or b 与4效果一样
但是 当a = 0 的时候会出跳过a, 直接到b。
以下来自 Dive_into_python 5.4
例 4.19. 安全使用 and-or 技巧
>>> a = "">>> b = "second">>> (1 and [a] or [b])[0] ''
由于 [a] 是一个非空列表,所以它决不会为假。即使a 是 0 或者 '' 或者其它假值,列表[a] 也为真,因为它有一个元素。
到现在为止,这个技巧可能看上去问题超过了它的价值。毕竟,使用 if 语句可以完成相同的事情,那为什么要经历这些麻烦事呢?哦,在很多情况下,你要在两个常量值中进行选择,由于你知道a 的值总是为真,所以你可以使用这种较为简单的语法而且不用担心。对于使用更为复杂的安全形式,依然有很好的理由要求这样做。例如,在Python 语言的某些情况下 if 语句是不允许使用的,比如在lambda 函数中。
- Python中if-else语句的多种写法
- Python中if-else语句的多种写法
- Python中if-else语句的多种写法
- Python中if-else语句的多种写法
- bat 批处理文件 中if else 语句写法
- Oracle if else 语句的写法实例
- ORACLE IF ELSE语句写法
- Python if 和 for 的多种写法
- Python的if...else...语句出错
- if else if else 语句的拓展
- Python if elif else语句
- 3.1 Python if else语句
- 【python学习笔记】python if和for的多种写法
- Python中if/else结构的缩进
- Python中在for循环中嵌套使用if和else语句的技巧
- Js中 If...Else 语句
- python while语句 else if 语句
- Python中的条件分支语句,if , else , else if
- test
- BSS段、数据段、代码段、堆与栈
- NSUserDefaults的使用
- 在Win7下去掉快捷方式箭头的简便手动操作
- bind端口复用
- Python中if-else语句的多种写法
- 开源音频库的比较
- ajax学习笔记3
- yum如何下载源码
- SSH Secure Shell Client 乱码问题
- Android开发平台振动器系统详解
- Mars Android视频学习笔记1-基础知识
- ajax学习笔记4
- iPhone app发布到App Store的步骤