欢迎光临散文网 会员登陆 & 注册

python只有一种三元运算符吗?

2023-03-23 23:58 作者:MineCraft狗子  | 我要投稿

三元运算符,或许大家都不陌生吧?

但是,python只有一种三元运算符吗?if-else的条件需要放在中间,那能不能像其他编程语言一样把条件放在前面呢?

接下来和小编……(bushi

仅代表一些个人观点,大佬轻喷,谢谢

众所周知,在Python中是存在“三元运算符”的。

python中的三元运算符

但是它的书写方式是:

E1 if con else E2

而其它语言中的三元运算符大多为:

con ? E1 : E2

其实python中也有类似的运算符。或许很多人没想到它就是逻辑运算符and和or。

条件在前的三元运算符

这里用了短路求值,当条件为真,and返回第二个操作数;当条件为假,and返回条件,由or返回第二个操作数。

还能少打一个字母(大雾

唯一可惜的是&和|不能完全替代and和or:

&和|只能用在bool上

否则就可以用:

True | 't' & 'f'

和true ? "t" : "f"简直一模一样了

(小声bb:甚至__and__都只会返回NotImplemented……)

不过使用and和or也无伤大雅,毕竟也是一种书写方式,还能精简代码

错误示例:长变量名(关注点奇怪

用这种方式可以把语句以外的部分全压进一行。(建议写注释)(但是我从来不写)

emm就是写一个小程序的时候遇到点问题,然后想了想,弄出来这么个玩意。之前肯定有人研究过这东西了,但是我就是想发一下awa

*仅代表个人观点,本人python纯自学,有错误之处请指正*

python只有一种三元运算符吗?的评论 (共 条)

分享到微博请遵守国家法律