三元运算符

问题

想要进行逻辑运算:如果A大于B,则A,否则B。

按照java、js等的思维:(A > B) ? A : B。结果python直接给返回了个“你这问号是个啥,不认得”。<ignore>当然,这只是我翻译过来的。</ignore>

现在想要知道python中是如何使用三元运算符

方案

对于问题中逻辑运算
1、在python2.5版本以后,增加了一个:A if (A > B) else B。通过if else来组合成三元运算符。

2、可以通过andor组合出一个三元运算符:((A > B) and A) or B。需要注意的是:如果A为空字符串'',则该表达式恒返回B。解释如下:

A = ''
B = 'B'
print A and B #输出为空
print A or B #输出为B

Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成 True

输入 布尔值
1,-1,[“”] True
0, “”, None, [], (), {}, (“”) False

3、不使用三元运算符,使用if...else...(# → ⌒ →)

参考文章

Python语言技巧之三元运算符使用介绍

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容