首页 > 开发 > Python > 正文

Python中实现三元条件运算符的方法

2023-04-25 12:32:01
字体:
来源:转载
供稿:网友

Python中并不像C#中的条件运算符那样使用简洁的符号来实现三元运算的,而是借助了if-else语句。换句话说,Python其实没有提供真正意义上的三元条件运算符,而是借助了if-else来实现,但其语法格式比if-else分支语句要简洁很多。

在Python2.5中,Python提供了该项功能,官方文档把其称之为条件表达式(conditional expression)。

Python中如何实现三元运算符

一、语法格式

其语法格式可以使用下面的形式来描述:

[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(xoddOrEven))

上面程序的输出结果与前一个相同。

三、嵌套使用的例子

在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三元运算的使用技巧后,我们可以灵活使用这种方法,以减少代码量。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表