Python中三目运算符用法详解

网友投稿 307 2022-11-22

Python中三目运算符用法详解

Python可通过if语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的if语句的语法格式如下: True_statements if expression else False_statements 三目运算符的规则是:先对逻辑表达式expression求值,如果逻辑表达式返回True,则执行并返回True_statements的值;如果逻辑表达式返回False,则执行并返回False_statements的值。看如下代码。 a=5 b=3 st = "a大于b" if a>b else "a不大于b" #输出"a大于b" print(st) 实际上,如果只是为了在控制台输出提示信息,还可以将上面的三目运算符表达式改为如下形式。 #输出”a大于b” print("a大于b") if a>b else print("a不大于b") Python允许在三目运算符的True_statements 或False_statements中放置多条语句。Python主要支持两种放置方式。 多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组成的元组。 多条语句以英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值。 第一种情况: #第一个返回值部分使用两条语句,用逗号隔开 st=print("crazyit"),'a大于b’ if a>b else "a不大于b" print(st) 上面程序中True_statements为print("crazyit"),a大于b,这两条语句都会执行,程序将会返回这两条语句的返回值组成的元组。由于print()函数没有返回值,相当于它的返回值是None。运行上面代码,将看到如下结果。 (None,'a大于b') 如果将上面语句中的逗号改为分号,将逗号之后的语句改为赋值语句,即写成如下形式 。 #第一个返回值部分使用两条语句,用分号隔开 st=print("crazyit");x=20 if a>b else "a不大于b" print(st) print(x) 此时虽然True_statements包含两条语句,但程序只会返回第一条语句print(“crazyit”)的返回值,该语句同样返回None,因此相当于str的返回值为None。运行上面代码,将看到如下结果。 None 20 需要指出的是,三目运算符支持嵌套,通过嵌套三目运算符,可以执行更复杂的判断。例如,下面代码需要判断c、d两个变量的大小关系: c=5 d=5 #下面将输出“c等于d” print("c大于d")if c>d else(print("c小于d")if cd求值,如果该表达式为True,程序将会执行并返回第一个表达式:print("c大于d”):否则系统将会计算else后面的内容:(print("e小于d”)ifc

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:优化隔离传感器接口的功率转换
下一篇:kafka消费不到数据排查记录
相关文章

 发表评论

暂时没有评论,来抢沙发吧~