一、三目运算符
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