Python 条件语句
Python if … else 条件语句用来控制程序在满足某个条件的情况下执行,条件语句是我们实现业务逻辑的重要工具。
Python if … else 条件语句用来控制程序在满足某个条件的情况下执行,条件语句是我们实现业务逻辑的重要工具。
条件语句涉及三个关键字: if
, elif
, else
,其中 if 语句时必须的, elif
和 else
不是必须的, 它们都必须和 if 语句组合使用。
Python if 语句
if 语句语法
if 条件:
代码块
说明:
- 只有条件返回
True
的时候, 才会执行if
代码块的代码。 - if 的条件和代码块通过缩进定义,要注意缩进要一致
条件一般是逻辑判断语句,比如数学中常见的逻辑条件:
- 等于:
a == b
- 不等于:
a != b
- 小于:
a < b
- 小于或等于:
a <= b
- 大于:
a > b
- 大于或等于:
a >= b
示例
a = 33
b = 200
if b > a:
print("b is greater than a")
在这个例子中,我们使用两个变量 a
和 b
,它们用作 if
语句的一部分来测试 b
是否大于 a
。由于 a
是 33
,而 b
是 200
,我们知道 200
大于 33
,输出结果是:
b is greater than a
缩进
与其他编程语言通常使用大括号定义代码块不同,Python 依靠缩进(空格或者制表符)来定义代码块。
如果 if
语句没有缩进就会引发错误。
a = 33
b = 200
if b > a:
print("b is greater than a") # IndentationError: expected an indented block
Python elif 语句
elif
语句表达的意思是:如果前面的 if
语句的条件是不正确的,那就试试这个条件。 elif
语句必须和 if
语句结合使用。
a = 33
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
在这个例子中 a
等于 b
,所以 if
的条件不成立,但 elif
条件成立,所以输出为:
a and b are equal
Python else 语句
else
语句表达的意思是,如果前面的 if
和 elif
语句的条件都不成立,就执行 else
代码块。elif
语句必须和 if
语句结合使用。
a = 200
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
在这个例子中 a
大于 b
,所以第一个条件不成立,elif
条件也不成立,所以最终执行的是 else
语句的代码块,输出内容是:
a is greater than b
if...else
语句:
a = 200
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
简写 if
如果只有一个语句要执行,则可以将它与 if
语句放在同一行。
if a > b: print("a is greater than b")
条件表达式
Python 中的条件表达式或者称为三元运算符,不像其他语言中的 条件 ? x : y
的这种用法,而是采用 x if 条件 else y
这样的语法,意思是:当条件为真,返回 x
否则返回 y
。
a = 2
b = 330
print("A") if a > b else print("B")
逻辑与 and
and
关键字是一个逻辑运算符(逻辑与),只有当两个操作数都为 True
的时候,才返回 True
。
当 a
大于 b
,并且 c
大于 a
时输出:
a = 200
b = 33
c = 500
if a > b and c > a:
print("Both conditions are True")
输出:
Both conditions are True
逻辑或 or
or
关键字是一个逻辑运算符(逻辑或),只有当两个操作数都为 False
的时候,才返回 False
。
当 a
大于 b
,或 a
大于 c
时输出:
a = 200
b = 33
c = 500
if a > b or a > c:
print("At least one of the conditions is True")
if 语句嵌套
有时候为了实现更复杂的逻辑,if
语句可以嵌套另一个 if
语句。
x = 41
if x > 10:
print("Above ten,")
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
输出:
Above ten,
and also above 20!
pass 语句
if
语句不能为空,但如果您出于某种原因有一个没有内容的 if
语句,请放入 pass
语句以避免出错。
a = 33
b = 200
if b > a:
pass