天天看点

if else if else语句格式_深入Python条件控制,不只是if/else第一种 if/else第二种 三元表达式第三种 二维列表第四种 逻辑运算符总结

if/else是我们用的最常用的条件控制语法。

而在Python语言中,有4种条件控制语法,完美的短短的一行代码就能实现同样的功能,把Python优雅简洁的编程思想体现得淋漓尽致。

if else if else语句格式_深入Python条件控制,不只是if/else第一种 if/else第二种 三元表达式第三种 二维列表第四种 逻辑运算符总结

第一种 if/else

常用的if/else语法,废话不说,不懂的请大补脑白金。

c = a if a>b else b

第二种 三元表达式

条件为真时的结果 if 判段的条件 else 条件为假时的结果

c = [b, a][a > b]

  • c = a,当a>b为真时
  • c = b,当a>b为假时

第三种 二维列表

c = [b, a][a > b]

  • 当a>b为真时,索引值为1,即c = [b, a][1] = a
  • 当a>b为假时,索引值为0,即c = [b, a][0] = b

知识点扩展:

对于python来说1与True,0与False是完全相等,即[b, a][True] == [b, a][1]

if else if else语句格式_深入Python条件控制,不只是if/else第一种 if/else第二种 三元表达式第三种 二维列表第四种 逻辑运算符总结

第四种 逻辑运算符

c = (a>b and a or b)

  • 当a>b为真时,c = a
  • 当a>b为假时, c = b

知识点扩展:

在Python中逻辑操作符and 和or,采用惰性求值(lazy evaluation)的方式,从左向右解析,一旦结果可以确定就停止

例如:

A, C = True, True

B = False

则 A and B and C ,则不会解析C

且返回值通常是最后一个变量。

if else if else语句格式_深入Python条件控制,不只是if/else第一种 if/else第二种 三元表达式第三种 二维列表第四种 逻辑运算符总结

同样的逻辑(or),只要有一个是true,即停止解析运算数,返回最近为true的变量,即 3 or 4,值为3;改变顺序4 or 3 即为4.

回到:c = (a>b and a or b)

  • a>b为真时,当a为真时,不解析b,直接返回a,即c = a;
  • a>b为假时,a>b and a也为假,a不解析;直接解析b,并返回b的值,即c = b;

总结

以上4种控制的语法中,一和二是适用频率较高的,如果执行语句较简单推荐使用方法二。

而三和四,这两种方法适用于特殊要求的场景下,代码写多了,看多了,自然就熟悉了。

继续阅读