在很多情况下,你不希望所有代码都在程序中执行。
相反,你可能希望某些代码仅在满足特定条件时执行,而在不满足条件时执行一组不同的代码。
这就是条件语句派上用场的地方。
条件语句允许你以简洁紧凑的方式控制程序的逻辑流。
它们是分支——就像道路上的岔路口——修改代码的执行方式和处理决策。
本教程通过示例介绍了 Python 编程语言中 if
、if..else
和 elif
语句的基础知识。
让我们开始吧!
基本的 if
语句的语法
Python 中的 if
语句:
“如果此表达式的计算结果为 True,则运行一次表达式后面的代码。如果结果不是 True,则不要运行后面的代码块。”
基本 if
语句的一般语法如下所示:
if condition:
execute statement
if
语句包括:
if
关键字,用于启动if
语句。- 然后是一个条件。条件可以被评估为 True 或 False。条件周围的括号(
()
)是可选的,但当存在多个条件时,它们确实有助于提高代码的可读性。 - 冒号
:
将条件与后面的可执行语句分开。 - 新的一行。
- 4 个空格的缩进,这是 Python 里的规定,缩进与后面的语句主体相关。
- 最后是语句的正文。这是仅当语句被评估为 True 时才会运行的代码。正文中可以有多行代码,在这种情况下,我们需要注意它们应该具有相同的缩进。
看下面这个例子:
a = 1
b = 2
if b > a:
print(" b is in fact bigger than a")
输出:
b is in fact bigger than a
在上面的示例中,我们创建了两个变量 a
和 b
,并分别为它们分配了值 1
和 2
。
print
语句中的短语实际上确实会打印到控制台,因为条件 b > a
的计算结果为 True,因此它后面的代码运行了。如果结果不是 True,那么就不会运行后面的代码。
如果我们改为这样做:
a = 1
b = 2
if a > b
print("a is in fact bigger than b")
不会执行任何代码,也不会向控制台打印任何内容。
Python if..else
语句如何运行
if
语句仅在满足条件时运行代码。
如果我们还希望在不满足条件时运行代码怎么办?这就是 else
部分的用武之地。
if..else
语句的语法如下所示:
if condition:
execute statement if condition is True
else:
execute statement if condition is False
Python 中的 if..else
语句:
“当 if
表达式的计算结果为 True 时,则运行它后面的代码。但如果它的计算结果为 False,则运行 else
语句后面的代码”
else
语句写在最后一行缩进代码之后的新行上,是 if
语句的一部分。
它后面的代码也需要用 4 个空格缩进,以表明它是 else
子句的一部分。
当且仅当 if
语句为 False 时,才会执行 else
语句后面的代码。如果你的 if
语句为 True 并且因此代码运行,则 else
块中的代码将永远不会运行。
a = 1
b = 2
if a < b:
print(" b is in fact bigger than a")
else:
print("a is in fact bigger than b")
在这里,else
语句后面的代码行 print("a is in fact large than b")
永远不会运行。在它之前出现的 if
语句结果是 True,所以只有 if
后面的代码会运行。
else
块在以下情况下运行:
a = 1
b = 2
if a > b:
print(" a is in fact bigger than b")
else:
print("b is in fact bigger than a")
输出:
b is in fact bigger than a
请注意,你不能在 if
和 else
之间编写任何其他代码。如果你这样做,会出现 SyntaxError
:
if 1 > 2:
print("1 is bigger than 2")
print("hello world")
else:
print("1 is less than 2")
输出:
File "<stdin>", line 3
print("hello world")
^
SyntaxError: invalid syntax
Python 中的 elif
如何运行
如果我们想要不止两个选项怎么办?
现在我们不再说:“如果第一个条件为真,则执行此操作,否则执行此操作”,而是说“如果这不为真,请尝试此操作,如果所有条件都不为真,则执行此操作”。
elif
代表 else, if。
基本语法如下所示:
if first_condition:
execute statement
elif second_condition:
execute statement
else:
alternative executable statement if all previous conditions are False
我们可以使用多个 elif
语句。这给了我们更多的条件和更多的选择。
例如:
x = 1
if x > 10:
print(" x is greater than 10!")
elif x < 10:
print("x is less than 10!")
elif x < 20 :
print("x is less than 20!")
else:
print("x is equal to 10")
输出:
x is less than 10!
在此示例中,if
语句测试特定条件,elif
块是两个备选方案,else
块是未满足所有先前条件时的最后一个解决方案。
请注意编写 elif
语句的顺序。
在前面的例子中,如果你写了:
x = 1
if x > 10:
print(" x is greater than 10!")
elif x < 20 :
print("x is less than 20!")
elif x < 10:
print("x is less than 10!")
else:
print("x is equal to 10")
x is less than 20!
这一行将会运行,因为它是先出现。
elif
语句使代码更易于编写。你可以使用它来代替 if..else
语句,因为程序变得越来越复杂且规模越来越大。
如果所有 elif
语句都不符合,并且都是 False,那么只有在这种情况下,才会运行 else
语句之后的代码。
例如,这里是将运行 else
语句的情况:
x = 10
if x > 10:
print(" x is greater than 10!")
elif x < 10:
print("x is less than 10!")
elif x > 20 :
print("x is greater than 20!")
else:
print("x is equal to 10")
输出:
x is equal to 10
总结
就是这样!
这些是 Python 中 if
、if..else
和 elif
的基本原则,可帮助你开始使用条件语句。
从这里语句可以变得更加高级和复杂。
条件语句可以嵌套在其他条件语句中,具体取决于你要解决的问题和解决方案背后的逻辑。
感谢你阅读本文。祝你编码愉快!
原文:Python If Else Statement – Conditional Statements Explained,作者:Dionysia Lemonaki