首页 > 编程语言 >day16 Python下的三元运算符

day16 Python下的三元运算符

时间:2023-06-01 16:12:38浏览次数:41  
标签:greater Python else 运算符 day16 三元 表达式

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 的最小值,否则复制 b
min = 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

标签:greater,Python,else,运算符,day16,三元,表达式
From: https://www.cnblogs.com/dream-ze/p/17449338.html

相关文章

  • C++ 中的运算符优先级
     运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。例如x=7+3*2,在这里,x被赋值为13,而不是20,因为运算符*具有比+更高的优先级,所以首先计算乘法3*2,然后再加......
  • 位运算符
     位运算符作用于位,并逐位执行操作。&、|和^的真值表如下所示:pqp&qp|qp^q00000010111111010011假设如果A=60,且B=13,现在以二进制格式表示,它们如下所示:A=00111100B=00001101-----------------A&B=00001100A|B=0......
  • python selenium 下拉框处理
    在自动化测试中,处理下拉框(Dropdown)有以下几种方式:1.使用Select类:通过select的相关方法选择option选项select.select_by_index(index)参数index表示的option索引select.select_by_value(value)参数value表示的是option元属中value的属性值select.select_by_visible_te......
  • Python笔记:正则表达式方法
    正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不......
  • Python模块 - Paramiko
    ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography)。有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作。paramiko包含两个核心组件:SSHClient和SFTPCli......
  • python 搭建一个Web自动化测试环境
    搭建一个Web自动化测试环境的具体步骤如下:1.安装Python:首先需要安装Python编程语言。可以从Python官方网站下载最新的稳定版本,并按照安装指南进行安装。官方网站链接:https://www.python.org2.安装浏览器驱动程序(注意:浏览器版本需要和驱动版本对应):根据使用的浏览器类型,下载对应......
  • 2-1-1python语法基础--基础-数据类型-数字
    列举布尔值为False的常见值?1,布尔型,False表示False,其他为True2,整数和浮点数,0表示False,其他为True3,字符串和类字符串类型(包括bytes和unicode),空字符串表示False,其他为True4,序列类型(包括tuple,list,dict,set等),空表示False,非空表示True5,None永远表示False浮点数保留两位小数,并做四......
  • Python字典:强大的键值对数据结构
    在Python中,字典是一种多功能和强大的数据结构,它允许我们以键值对的形式存储和操作数据。字典在其他编程语言中也被称为关联数组或哈希映射,它提供了一种高效的方式来根据键检索和更新值。在本文中,我们将探讨Python中的字典概念,并了解如何有效地使用它们。Python中的字典是无序的键......
  • python spark 随机森林入门demo
    class pyspark.mllib.tree.RandomForest[source]Learningalgorithmforarandomforestmodelforclassificationorregression.Newinversion1.2.0.supportedFeatureSubsetStrategies =('auto','all','sqrt','log2',......
  • python spark 决策树 入门demo
    Refertothe DecisionTree and DecisionTreeModel formoredetailsontheAPI.frompyspark.mllib.treeimportDecisionTree,DecisionTreeModelfrompyspark.mllib.utilimportMLUtils#LoadandparsethedatafileintoanRDDofLabeledPoint.data=MLUtils.l......