python只有一种三元运算符吗?
2023-03-23 23:58 作者:MineCraft狗子 | 我要投稿
三元运算符,或许大家都不陌生吧?
但是,python只有一种三元运算符吗?if-else的条件需要放在中间,那能不能像其他编程语言一样把条件放在前面呢?
接下来和小编……(bushi
仅代表一些个人观点,大佬轻喷,谢谢
众所周知,在Python中是存在“三元运算符”的。

但是它的书写方式是:
E1 if con else E2
而其它语言中的三元运算符大多为:
con ? E1 : E2
其实python中也有类似的运算符。或许很多人没想到它就是逻辑运算符and和or。

这里用了短路求值,当条件为真,and返回第二个操作数;当条件为假,and返回条件,由or返回第二个操作数。
还能少打一个字母(大雾
唯一可惜的是&和|不能完全替代and和or:

否则就可以用:
True | 't' & 'f'
和true ? "t" : "f"简直一模一样了
(小声bb:甚至__and__都只会返回NotImplemented……)
不过使用and和or也无伤大雅,毕竟也是一种书写方式,还能精简代码

用这种方式可以把语句以外的部分全压进一行。(建议写注释)(但是我从来不写)
emm就是写一个小程序的时候遇到点问题,然后想了想,弄出来这么个玩意。之前肯定有人研究过这东西了,但是我就是想发一下awa
*仅代表个人观点,本人python纯自学,有错误之处请指正*