一、三目运算符

1、if语句三目运算符语法格式

Python可以通过if'语句来实现三目运算符的功能,因此可以把这种if语句当做三目运算符,具体语法格式如下:

返回True执行 if 表达式 else 返回False执行

例:

a = "返回True执行" if 3 > 4 else "返回False执行"
print (a)  

运行结果:

返回False执行

实际上,如果只是为了在控制台输出信息,可以修改如下:

print("返回True执行") if 3 > 4 else print("返回False执行")	# 运行结果:返回False执行

2、在三目运算符中放置多条语句方式

在Python的三目运算符中,允许在"返回True执行"和"返回Flase执行"中放置多条语句,有以下两种方式:

- 使用英文逗号隔开,每条放置的语句都会执行,程序返回多条语句的返回值组成的元组。
例:

b = 3 + 1, "3 > 2",print('AAA') if 1 > 2 else print("BBB"),2 + 2
print (b)


上面的例子中,因为 1 > 2 是False,所以执行并返回3 + 1,"3 > 2",2 + 2,print("BBB")这四条语句,由于print()函数没有返回值,故返回None,运行结果如下:

BBB
(4, '3 > 2', None, 4)


- 使用英文分号隔开,每条语句都会执行,但程序只会返回第一条语句的返回值。
例:

b = 1 + 1; "3 > 2";print('AAA') if 1 > 2 else print("BBB");2 + 2
print (b)

这里的if...else...执行print("BBB"),返回的是第一条语句1 + 1的返回值2,所以,运行结果如下:

BBB
2

 

3、嵌套三目运算符

我们可以通过嵌套三目运算符,执行更加复杂的判断。
例:

x = 3
y = 5
print("x = y") if x == y else print("x > y") if x > y else print("x < y")

上面的例子先对x == y求值,如果返回True,则执行并返回表达式print("x = y"),否则执行嵌套的三目运算符表达式print("x > y") if x > y else print("x < y"),此时对x > y求值,如果返回True,则执行并返回表达式print("x > y"),否则执行并返回print("x < y"),运行结果:

x < y