因为下周要用php写项目,所以周末在家里重新看php的语法,看到三元描述符,突然想起来python是没有三元描述符的,印象中依稀记得有模拟的实现,于是上网上搜了一下。
(对应C语言的 X ? V1:V2)
找到一篇文章:http://blog.csdn.net/xiaoyin992/archive/2008/12/29/3635015.aspx
其中一种是:
(X and V1) or V2
正常情况下是不会有错误的,但是文章中也提到了,当V1=""时,就会有问题
比如
print (True and '') or 'V'
print (False and '') or 'V'
输出永远都是: V
完美的解决方案是在《python核心编程中提到的》:
V1 if X else V2
原文如下:
如果你来自 ...