Python入门教程之三元运算符的使用详解_第1页
Python入门教程之三元运算符的使用详解_第2页
Python入门教程之三元运算符的使用详解_第3页
Python入门教程之三元运算符的使用详解_第4页
Python入门教程之三元运算符的使用详解_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第Python入门教程之三元运算符的使用详解目录使用三元运算符的简单方法使用元组、字典和lambda的直接方法三元运算符可以写成嵌套的if-else在三元运算符中使用打印功能要点三元运算符也称为条件表达式,是根据条件为真或假来评估某些内容的运算符。它在2.5版本中被添加到Python中。

它只是允许在单行中测试条件,替换多行if-else,使代码紧凑。

语法:

[on_true]if[expression]else[on_false]

使用三元运算符的简单方法

#演示条件运算符的程序

a,b=10,20

#如果ab则复制a的最小值,否则复制b

min=aifabelseb

print(min)

输出:

10

使用元组、字典和lambda的直接方法

#演示三元运算符的Python程序

a,b=10,20

#使用元组选择一个项目(if_test_false,if_test_true)[test]如果[ab]为真则返回1,因此索引为1的元素将打印,否则如果[ab]为假则返回0,因此元素为0索引将打印

print((b,a)[ab])

#如果[ab]为真,则使用Dictionary选择项目,然后打印True键的值,否则,如果[ab]为假,则打印False键的值

print({True:a,False:b}[ab])

#lambda比上述两种方法更有效,因为在lambda中,我们确保只评估一个表达式,这与tuple和Dictionary不同

print((lambda:b,lambda:a)[ab]())

输出:

10

10

10

时间复杂度:O(1)

辅助空间:O(1)

三元运算符可以写成嵌套的if-else

#演示嵌套三元运算符的Python程序

a,b=10,20

print("Bothaandbareequal"ifa==belse"aisgreaterthanb"

ifabelse"bisgreaterthana")

时间复杂度:O(1)

辅助空间:O(1)

上面的方法可以写成:

#演示嵌套三元运算符的Python程序

a,b=10,20

ifa!=b:

ifab:

print("aisgreaterthanb")

else:

print("bisgreaterthana")

else:

print("Bothaandbareequal")

输出:

bisgreaterthana

时间复杂度:O(1)

辅助空间:O(1)

在三元运算符中使用打印功能

例如:

示例:在python3中使用三元运算符查找2中的较大数

a=5

#[statement_on_True]if[condition]else[statement_on_false]

print(a,"isgreater")if(ab)elseprint(b,"isGreater")

输出:

7isGreater

时间复杂度:O(1)

辅助空间:O(1)

要点

首先评估给定条件(ab),然后根据条件返回的布尔值返回a或b运算符中参数的顺序与其他语言(如C/C++)不同。在所有Python操作中,条件表达式的优先级最低。

****当三元运算符不存在时,在2.5之前使用的方法在如下给出的表达式中,解释器检查表达式是否为真,然后评估on_true,否则评估on_false。

语法:

条件为真时,不执行表达式[on_false],返回Trueand[on_true]的值。返回Falseor[on_false]的其他值。请注意,真和x等于x。假或x等于x。

[expression]and[on_true]or[on_false]

例子:

#演示条件运算符的程序

a,b=10,20

#如果a小于b,则分配a,否则分配b(注意:如果a为0,则它不起作用。)

min=abandaorb

print(min)

输出:

10

时间复杂度:O(1)

辅助空间:O(1)

注意:此方法的唯一缺点是on_t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论