python3 三目运算符,三目运算符和三元运算符
Python可以通过if语句实现三值运算符的功能,所以可以近似看作三值运算符。作为三元运算符的if语句的语法格式如下:
True_statementsifexpressionelse _ statements的三元运算符的规则是:先计算逻辑表达式,如果逻辑表达式返回True,则执行True _ statements的值并返回;如果逻辑表达式返回False,则执行并返回False_statements的值。请看下面的代码:
a=5
b=3
如果a不大于b,则St=a大于b
#输出 A大于B
Print(st)实际上,如果只是为了在控制台上输出提示信息,还可以将上面的三元运算符表达式改为下面的形式:
#输出 A大于B
Print(a大于b)ifabelseprint(a不大于b)Python允许在三元运算符的True_statements或False_statements中放置多个语句。Python主要支持以下两种放置方式:
多条语句用英文逗号分隔:每条语句都会被执行,程序会返回一个由多条语句的返回值组成的元组。
多条语句用英文分号隔开:每条语句都会被执行,程序只返回第一条语句的返回值。
看看第一种情况,使用下面的代码:
#第一个返回值部分使用逗号分隔的两个语句。
St=print(crazyit ), a大于b 如果代数 a不大于b
Print(st)在上面的程序中,True_statements是print(crazyit )和 a大于b 。这两条语句将被执行,程序将返回一个由这两条语句的返回值组成的元组。因为print()函数没有返回值,所以它相当于返回值为None。运行上述代码,您将看到以下结果:
疯狂吧
(None, a大于B )如果将上述语句中的逗号改为分号,并将逗号后的语句改为赋值语句,则写作如下:
#第一个返回值部分使用分号分隔的两个语句。
ST=print( crazy it );X=如果假设a不大于b
打印(st)
Print(x)此时,虽然True_statements包含两个语句,但程序只会返回第一个语句print ("crazy it ")的返回值,该语句也返回None,所以相当于str的返回值是None。运行上述代码,您将看到以下结果:
疯狂吧
没有人
20需要指出的是,三元运算符支持嵌套,通过嵌套三元运算符,可以进行更复杂的判断。例如,下面的代码需要判断两个变量C和D的大小关系:c=5
d=5
#接下来,输出C等于d。
Print(c大于d) ifcelse (print (c小于d) ifcelprint (c等于d ))
上面的代码首先评估cd。如果这个表达式为真,程序将执行并返回第一个表达式:print ("C大于D ");否则,系统将计算else后的内容:(print(c小于d) if c d else print(c等于d ),这是一个嵌套的三元运算符表达式。注意,输入这个表达式时,只有“C小于D”或“C等于D”两种情况,所以这个三元运算符再次判断cd,如果这个表达式为真,则输出“C小于D”;否则只有“C等于D”的情况,自然会输出字符串。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。