零基础入门学习Python(第2版)
上QQ阅读APP看书,第一时间看更新

4.4 条件表达式(三元操作符)

通常N元操作符指的是该操作符有N个操作数,如赋值操作符(=),它是一个二元操作符,所以它有两个操作数(左右各一个);又如减号(-)是一个二元操作符,但是当它作为负号(-)使用的时候,便是一个一元操作符,它表示负数,所以只有一个操作数。那么,三元操作符理应有三个操作数咯?没错的,你猜对了。

其实Python的作者一向推崇简洁编程理念,所以很长一段时间Python都没有三元操作符这个概念(因为他觉得三元操作符将会使程序的结构变复杂),但是长久以来Python社区的小伙伴们对三元操作符表现出了极大的渴望,所以最终作者还是勉为其难地为Python加入了三元操作符。有了它,我们就可以使用一条语句来完成以下的条件判断和赋值操作:

那么这段代码用三元操作符表示应该是怎样的呢?

三元操作符语法:

     a = x if 条件 else y

表示当条件为True的时候,a被赋值为x,否则被赋值为y。

所以,上面的代码可以改进为:

     small = x if x < y else y

刚开始看可能会不大习惯,毕竟跟我们通常的逻辑思维方式不同,但也不觉得会导致程序结构变得复杂啊。

那么,大家看下面代码:

如果用三元操作符的形式,修改后的代码应该是这样的:

现在还会觉得结构简单、易懂吗?