Python三目运算符(三元运算符)用法详解

樵夫2021-08-24 11:29

我们从一个具体的例子切入本节内容。假设现在有两个数字,我们希望获得其中较大的一个,那么可以使用ifelse语句,例如:  

if a>b:
    max = a;
else:
    max = b;

但是Python提供了一种更加简洁的写法,如下所示:  

max = a if a>b else b

这是一种类似于其它编程语言中三目运算符?:的写法。Python是一种极简主义的编程语言,它没有引入?:这个新的运算符,而是使用已有的ifelse关键字来实现相同的功能。  

使用ifelse实现三目运算符(条件运算符)的格式如下:  

exp1 if contion else exp2

condition是判断条件,exp1和exp2是两个表达式。如果condition成立(结果为真),就执行exp1,并把exp1的结果作为整个表达式的结果;如果condition不成立(结果为假),就执行exp2,并把exp2的结果作为整个表达式的结果。  

前面的语句max=aifa>belseb的含义是:  

如果a>b成立,就把a作为整个表达式的值,并赋给变量max;  

如果a>b不成立,就把b作为整个表达式的值,并赋给变量max。  

三目运算符的嵌套  

Python三目运算符支持嵌套,如此可以构成更加复杂的表达式。在嵌套时需要注意if和else的配对,例如:  

a if a>b else c if c>d else d

应该理解为:  

a if a>b else ( c if c>d else d )

【实例】使用Python三目运算符判断两个数字的关系:  

a = int( input("Input a: ") )
b = int( input("Input b: ") )
print("a大于b") if a>b else ( print("a小于b") if a<b else print("a等于b") )

可能的运行结果:  

Input a: 45↙
Input b: 100↙
a小于b

该程序是一个嵌套的三目运算符。程序先对a>b求值,如果该表达式为True,程序就返回执行第一个表达式print("a大于b"),否则将继续执行else后面的内容,也就是:  

( print("a小于b") if a<b else print("a等于b") )

进入该表达式后,先判断a<b是否成立,如果a<b的结果为True,将执行print("a小于b"),否则执行print("a等于b")。  

以上就是小编为大家整理发布的“Python三目运算符(三元运算符)用法详解”一文,更多相关内容尽在开课吧Python教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
零基础轻松入门Python