在很多情况下,你不希望所有代码都在程序中执行。

相反,你可能希望某些代码仅在满足特定条件时执行,而在不满足条件时执行一组不同的代码。

这就是条件语句派上用场的地方。

条件语句允许你以简洁紧凑的方式控制程序的逻辑流。

它们是分支——就像道路上的岔路口——修改代码的执行方式和处理决策。

本教程通过示例介绍了 Python 编程语言中 ifif..elseelif 语句的基础知识。

让我们开始吧!

基本的 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

在上面的示例中,我们创建了两个变量 ab,并分别为它们分配了值 12

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

请注意,你不能在 ifelse 之间编写任何其他代码。如果你这样做,会出现 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 中 ifif..elseelif的基本原则,可帮助你开始使用条件语句。

从这里语句可以变得更加高级和复杂。

条件语句可以嵌套在其他条件语句中,具体取决于你要解决的问题和解决方案背后的逻辑。

感谢你阅读本文。祝你编码愉快!

原文:Python If Else Statement – Conditional Statements Explained,作者:Dionysia Lemonaki