- ·上一篇内容:Python中format_map()函数的使用方法
- ·下一篇内容:Python中的abs()函数
Python中实现三元条件运算符的方法
Python中并不像C#中的条件运算符那样使用简洁的符号来实现三元运算的,而是借助了if-else语句。换句话说,Python其实没有提供真正意义上的三元条件运算符,而是借助了if-else来实现,但其语法格式比if-else分支语句要简洁很多。
在Python2.5中,Python提供了该项功能,官方文档把其称之为条件表达式(conditional expression)。
一、语法格式
其语法格式可以使用下面的形式来描述:
[when_true] if [condition] else [when_false]
在语法中,condition一般是个逻辑表达式或逻辑值。开始执行时,先判断[condition]的值,如果其值为True,则返回[when_true]的值,否则返回[when_false]的值。
二、使用举例
下面的程序是判断一个数x是奇数还是偶数:
x = 133
oddOrEven = "偶数"
if
x % 2 == 0 else
"奇数"
print("{0}是{1}".format(x, oddOrEven))
程序输出如下:
133是奇数
当然,上面的程序比较简洁,但是如果对该用法不清楚的话,可能不知其意,即可读性比较差。
上面这段程序实际上相当于下面这种情形:
x = 133
if
x % 2 == 0:
oddOrEven = "偶数"
else:
oddOrEven = "奇数"
print("{0}是{1}".format(x, oddOrEven))
上面程序的输出结果与前一个相同。
三、嵌套使用的例子
在Python中,这种三元语句可以嵌套使用。
#嵌套使用
x = 13
y = 14
oddeven = "x是偶数"
if
x % 2 == 0 else
"x是奇数,y是偶数" \
if
y % 2 == 0 else
"全是奇数"
print(oddeven)
程序输出如下:
x是奇数,y是偶数
要注意,上面的程序只是演示嵌套使用的方法,程序本身并不能准确判断出x和y的奇偶情况。
四、元组中的三元运算
Python中的元组也支持类似的三元运算情况。其语法为:
(when_false, when_true)[condition]
要注意元组中的第一个值是为False时的输出,第二个值是为True时的输出。
x = 124
oddeven = ("奇数", "偶数")[x % 2==0]
print(oddeven)
其输出结果为:
偶数
总结
在掌握了Python三元运算的使用技巧后,我们可以灵活使用这种方法,以减少代码量。
如需转载,请注明出处:翔宇亭IT乐园(http://www.biye5u.com/),并给出本文的链接地址:http://www.biye5u.com/article/python/2021/6510.html
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。