1.与其他编程语言中的 if 语句一样,使用方法如下
if condition:
expressions
如果 condition 的值为 True,将会执行 expressions 语句的内容,否则将跳过该语句往下执行。
实例
x = 1
y = 2
z = 3
if x < y:
print('x is less than y')
上述代码中,if 语句的条件为 x < y 为 True, 那么将执行条件内部语句,程序将输出 x is less than y。
注意点
在 python 语言中等号的判断使用 == 而不是 =, 因为后一种是赋值语句。
x = 1
y = 2
z = 3
if x = y:
print('x is equal to y')
如果这样写的话,是有句法错误的,程序将无法执行。因为在Python中,=作为赋值语句,而非判断语句
修改如下
x = 2
y = 2
z = 0
if x == y:
print('x is equal to y')
因为 x 和 y 都等于2, 所以将会输出 x is equal to y。
2.f else 语句基本使用
if condition:
true_expressions
else:
false_expressions
当 if 判断条件为 True,执行 true_expressions 语句; 如果为 False,将执行 else 的内部的 false_expressions。
实例
x = 1
y = 2
z = 3
if x > y:
print('x is greater than y')
else:
print('x is less or equal to y')
在这个例子中,因为 x > y 将会返回 False, 那么将执行 else 的分支内容。输出 x is less or equal to y
x = 4
y = 2
z = 3
if x > y:
print('x is greater than y')
else:
print('x is less or equal y')
在这里,因为 condition 条件为 True, 那么将会输出 x is greater than y。
高级主题
对于从其他编程语言转过来的同学一定非常想知道 python 语言中的三目操作符怎么使用,很遗憾的是 python 中并没有类似 condition ? value1 : value2 三目操作符。然后现实中很多情况下我们只需要简单的判断 来确定返回值,但是冗长的 if-else 语句似乎与简单的 python 哲学不一致。别担心,python 可以通过 if-else 的行内表达式完成类似的功能。
var = var1 if condition else var2
可以这么理解上面这段语句,如果 condition 的值为 True, 那么将 var1 的值赋给 var;如果为 False 则将 var2 的值赋给 var。
worked = True
result = 'done' if worked else 'not yet'
print(result)
首先判断如果 work 为 True,那么将 done 字符串赋给 result,否则将 not yet 赋给 result。 结果将输出 done。
3.if elif else 判断
if condition1:
true1_expressions
elif condition2:
true2_expressions
elif condtion3:
true3_expressions
elif ...
...
else:
else_expressions
如果有多个判断条件,那可以通过 elif 语句添加多个判断条件,一旦某个条件为 True,那么将执行对应的 expression。 并在之代码执行完毕后跳出该 if-elif-else 语句块,往下执行。
实例
x = 4
y = 2
z = 3
if x > 1:
print ('x > 1')
elif x < 1:
print('x < 1')
else:
print('x = 1')
print('finish')
因为 x = 4 那么满足 if 的条件,则将输出 x > 1 并且跳出整个 if-elif-else 语句块,那么紧接着输出 finish。 如果将 x = -2 那么将满足 elif x < 1 这个条件,将输出 x <1, finish。