Python 基础之三元运算符
586 字
3 分钟
Python 基础之三元运算符
【一】引言
- 三元表达式(三目运算符)能够简洁我们的代码
- 三元表达式其实是将if…else…判断语句的简化表达,代替很多if else
- 和if-else一样,只有一个表达式会被执行。
- 因此,三元表达式中的if和else可以包含大量的计算,但只有True的分支会被执行
- 在Java、C、JavaScript等语言中,他们的格式为:
返回布尔值的判断条件?为真时的结果:为假时的结果- 但是,Python的三元表达式的写法有别于其他语言,Python的语法为
为真时的结果 if 返回布尔值的判断条件 else 为假时的结果- 其逻辑为:
- 如果条件表达式成立或者满足则执行表达式1
- 否则执行第二个。
- 常用在设置默认值
- 例如某个值不一定存在,则判断这个值是否存在
- 不存在则给[默认值]。
【二】案例解析
【1】简单的用法
# 演示条件运算符的程序a, b = 10, 20
# 如果 a < b 则复制 a 的最小值,否则复制 bmin = a if a < b else b
print(min)# 10【2】在元祖等中的用法
# 演示三元运算符的 Python 程序a, b = 10, 20
# 使用元组选择一个项目 (if_test_false,if_test_true)[test]# 如果 [a<b] 为真则返回 1,因此索引为 1 的元素将打印# 否则如果 [a<b] 为假则返回 0,因此元素为 0 索引将打印print( (b, a) [a < b] )# 10
# 如果 [a < b] 为真,则使用 Dictionary 选择项目,然后打印 True 键的值,否则# 如果 [a<b] 为假,则打印 False 键的值print({True: a, False: b} [a < b])# 10
# lambda 比上述两种方法更有效,因为在 lambda 中,我们确保只评估一个表达式,这与 tuple 和 Dictionary 不同print((lambda: b, lambda: a)[a < b]())# 10【三】三元运算符中的嵌套
# 演示嵌套三元运算符的 Python 程序a, b = 10, 20
print ("Both a and b are equal" if a == b else "a is greater than b" if a > b else "b is greater than a")# 演示嵌套三元运算符的 Python 程序a, b = 10, 20
if a != b: if a > b: print("a is greater than b") else: print("b is greater than a")else: print("Both a and b are equal")
# b is greater than a支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
C 语言算术运算符
编程语言学习 C 语言表达式、算术运算符、整数除法和浮点除法的基本规则。
2
C 语言关系与逻辑运算符
编程语言学习 C 语言的关系运算符、逻辑运算符、短路求值和条件判断规则。
3
C 语言基础:注释、关键字、变量与数据类型
编程语言学习 C 语言的注释、关键字、标识符、常量、变量和基本数据类型等基础知识。
4
C 语言发展史
编程语言了解 C 语言从 BCPL、B 语言到现代标准 C 的发展历程、核心特点与应用领域。
5
C 语言开发环境的安装与配置
编程语言在 Windows、Linux 与 macOS 上安装 C 工具链,配置编辑器,并编译运行第一个 C 程序。
随机文章随机推荐














