- 正常的三元运算符是这么使用的
- 布尔表达式 ? A : B
- 如果布尔表达式为true,则返回A,否则返回B,比如下面:
- String a = 1==1 ? "true" : "false";
- Python下有两种方式模拟。
- 第一种:布尔表达式 and A or B
- 比如 print( (1==1) and 'true' or 'false' )
- 但是注意如果A为''时,始终返回B。所以这种方法是有缺陷的。
- 第二种:A if 布尔表达式 else B
- 比如print( 'true' if (1==1) else 'false' )
- 这种是正确方案。
- 另外Python是动态强类型语言,所以A和B的类型不一定要相同,比如:
- var result = 'a' if (1==1) else 2
- #该片段来自于http://www.codesnippet.cn/detail/240720134793.html
来源: http://www.codesnippet.cn/detail/240720134793.html