Python 中是否存在与 C 语言中的“?:”三元运算符等效的运算符?


是的,我们也可以用 Python 来替代 C 中的三元运算符。举例来说,看一下下面 C 语言中三元运算符的例子:

示例

#include <stdio.h> int main() { int x = 10; int y; y = (x == 1) ? 20: 30; printf( "Value of y = %d\n", y ); y = (x == 10) ? 20: 30; printf( "Value of y = %d\n", y ); }

输出

Value of y = 30
Value of y = 20

Python 中有许多运算符:算数运算符、赋值运算符、逻辑运算符、按位运算符、成员运算符和恒等运算符等。C 语言中三元运算符执行的任务也可以使用逻辑运算符来实现。

在 Python 2.5 之前,程序员使用以下逻辑运算符语法来执行相同的工作。但这种方法不正确,并且当 `on_safe` 为布尔假时会出错:

[expression] and [on_true] or [on_false]

因此,Python 2.5 之后引入了以下形式的三元运算符,以便简化程序员的工作。

语法

语法如下:

[on_true] if [expression] else [on_false]

示例

现在让我们看一个在 Python 中实现三元运算符的示例:

x = 20 y = 10 res = x if x < y else y print(res)

输出

10

示例

示例:

x = 50 y = 10 res = x if x > y else y print(res)

输出

50

更新时间:19-9-2022

370 次浏览

开启您的 职业旅程

完成课程获得认证

开始
广告