php三目运算符-Python三元运算符(ternary operator)用法解释【python基础知识】

Python可以通过if语句来实现三元运算符的功能,因此这些if语句可以近似地视为三元运算符。 if语句作为三元运算符的语句格式如下:

True_statements if expression else False_statements

三元运算符的规则是:先计算逻辑表达式表达式,如果逻辑表达式返回Truephp三目运算符,则执行并返回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。 运行里面的代码,你会看到如下结果:

crazyit
(None,'a大于b')

如果把前面一句的冒号改为分号,冒号后面的一句改为形参句php三目运算符,则写成如下:

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

此时,虽然True_statements包含两个句子,但是程序只会返回第一句print("crazyit")的返回值,同样返回None,所以str的返回值为None。 运行里面的代码,你会看到如下结果:

crazyit
None
20

需要强调的是,三元运算符支持嵌套,通过嵌套三元运算符可以进行更复杂的判别。 例如,下面的代码需要确定两个变量c和d之间的大小关系:

c = 5
d = 5
# 下面将输出c等于d
print("c大于d") if c > d else (print("c小于d") if c < d else print("c等于d"))

上面的代码首先计算c>d,如果表达式为True,程序将执行并返回第一个表达式: print("c is less than d"); 否则,系统将计算 else 之后的内容: (print ("c isgrand d") if c