![零基础入门学习Python(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/693/27111693/b_27111693.jpg)
上QQ阅读APP看书,第一时间看更新
4.4 条件表达式(三元操作符)
通常N元操作符指的是该操作符有N个操作数,如赋值操作符(=),它是一个二元操作符,所以它有两个操作数(左右各一个);又如减号(-)是一个二元操作符,但是当它作为负号(-)使用的时候,便是一个一元操作符,它表示负数,所以只有一个操作数。那么,三元操作符理应有三个操作数咯?没错的,你猜对了。
其实Python的作者一向推崇简洁编程理念,所以很长一段时间Python都没有三元操作符这个概念(因为他觉得三元操作符将会使程序的结构变复杂),但是长久以来Python社区的小伙伴们对三元操作符表现出了极大的渴望,所以最终作者还是勉为其难地为Python加入了三元操作符。有了它,我们就可以使用一条语句来完成以下的条件判断和赋值操作:
![](https://epubservercos.yuewen.com/94E0F4/15477656504587806/epubprivate/OEBPS/Images/Figure-P46_69611.jpg?sign=1739294539-BySGVTvcIX1BaBvPiDcc8DEY9WeMI7xZ-0-200fdf99854deb19123b250c027ca730)
那么这段代码用三元操作符表示应该是怎样的呢?
三元操作符语法:
a = x if 条件 else y
表示当条件为True的时候,a被赋值为x,否则被赋值为y。
所以,上面的代码可以改进为:
small = x if x < y else y
刚开始看可能会不大习惯,毕竟跟我们通常的逻辑思维方式不同,但也不觉得会导致程序结构变得复杂啊。
那么,大家看下面代码:
![](https://epubservercos.yuewen.com/94E0F4/15477656504587806/epubprivate/OEBPS/Images/Figure-P46_69612.jpg?sign=1739294539-4D3LeOVtnqA6iyTIH5LW38B0NWyn7qSM-0-fe626885e45895c2d34538ef6e051a38)
如果用三元操作符的形式,修改后的代码应该是这样的:
![](https://epubservercos.yuewen.com/94E0F4/15477656504587806/epubprivate/OEBPS/Images/Figure-P46_69613.jpg?sign=1739294539-8GUlqwWM6QxBXMeoZbbRkHv9vSTEBGie-0-95996c7542fad0eea92d86e150306912)
现在还会觉得结构简单、易懂吗?