教程集 www.jiaochengji.com
教程集 >  Python编程  >  Python入门  >  正文 Python三目运算符(三元运算符)用法详解

Python三目运算符(三元运算符)用法详解

发布时间:2021-12-20   编辑:jiaochengji.com
教程集为您提供Python三目运算符(三元运算符)用法详解等资源,欢迎您收藏本站,我们将为您提供最新的Python三目运算符(三元运算符)用法详解资源

Python 可通过 if 语句来实现三目运算符的功能,因此可以近似地把这种if语句当成三目运算符。作为三目运算符的 if 语句的语法格式如下:

<pre class="brush:html;toolbar:false">True_statements if expression else False_statements</pre>

三目运算符的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值;如果逻辑表达式返回 False,则执行并返回 False_statements 的值。看如下代码:

<pre class="brush:html;toolbar:false">a = 5 b = 3 st = "a大于b" if a > b else  "a不大于b" # 输出"a大于b" print(st)</pre>

实际上,如果只是为了在控制台输出提示信息,还可以将上面的三目运算符表达式改为如下形式:

<pre class="brush:html;toolbar:false"># 输出"a大于b" print("a大于b") if a > b else print("a不大于b")</pre>

Python 允许在三目运算符的 True_statements 或 False_statements 中放置多条语句。Python 主要支持以下两种放置方式:

多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组成的元组。

多条语句以英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值。

先看第一种情形,使用如下代码:

<pre class="brush:html;toolbar:false"># 第一个返回值部分使用两条语句,逗号隔开 st = print("crazyit"), 'a大于b' if a > b else  "a不大于b" print(st)</pre>

上面程序中 True_statements 为 print("crazyit"),'a大于b',这两条语句都会执行,程序将会返回这两条语句的返回值组成的元组。由于 print() 函数没有返回值,相当于它的返回值是 None。运行上面代码,将看到如下结果:

<pre class="brush:html;toolbar:false">crazyit (None,'a大于b')</pre>

如果将上面语句中的逗号改为分号,将逗号之后的语句改为赋值语句,即写成如下形式:

<pre class="brush:html;toolbar:false"># 第一个返回值部分使用两条语句,分号隔开 st = print("crazyit"); x = 20 if a > b else  "a不大于b" print(st) print(x)</pre>

此时虽然 True_statements 包含两条语句,但程序只会返回第一条语句 print(”crazyit”) 的返回值,该语句同样返回 None,因此相当于 str 的返回值为 None。运行上面代码,将看到如下结果:

<pre class="brush:html;toolbar:false">crazyit None 20</pre>

<span style="color: rgb(68, 68, 68); font-family: "Helvetica Neue", 微软雅黑, "Microsoft Yahei", Helvetica, Arial, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);">需要指出的是,三目运算符支持嵌套,通过嵌套三目运算符,可以执行更复杂的判断。例如,下面代码需要判断 c、d 两个变量的大小关系:<pre class="brush:html;toolbar:false">c = 5 d = 5 # 下面将输出c等于d print("c大于d") if c > d else (print("c小于d") if c < d else print("c等于d"))</pre></span>

上面代码首先对 c>d 求值,如果该表达式为 True,程序将会执行并返回第一个表达式:print(”c大于d”);否则系统将会计算 else 后面的内容:(print("c小于d") if c < d else print("c等于d")),这个表达式又是一个嵌套的三目运算符表达式。注意,进入该表达式时只剩下“c小于d”或“c等于d”两种情况,因此该三目运算符再次判断 c<d,如果该表达式为 True,将会输出“c小于d”;否则只剩下“c等于d”一种情况,自然就输出该字符串了。

<span style="color: rgb(68, 68, 68); font-family: "Helvetica Neue", 微软雅黑, "Microsoft Yahei", Helvetica, Arial, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);"></span>

您可能感兴趣的文章:
Python三目运算符(三元运算符)用法详解
php中比较常用的特殊运算符号和函数
php运算符及运算符优先级-php入门教程(4)
php 三元运算符 ?与:
php中运算符的优先级是什么?
c语言学习的简要笔记
什么三目运算符
PHP的三种类型的运算符
PHP三元/三目运算符的使用例子
javascript的常用运算符

[关闭]
~ ~