Python if else条件语句

条件语句用来判定所给条件是否满足要求,根据判定的结果,决定接下来的操作。条件语句是一种控制结构,因为它们允许根据定义的特定条件,控制在何时执行哪一部分的代码。

条件语句是 Python 中最重要的概念之一。在 Python 中,条件语句是由 if 关键字开头的,后面跟着一个条件和一个冒号,冒号之后的代码行要放到一个代码块中。如果满足条件,就会运行代码块的指令。格式如下所示,代码如下。
if 3>2 :
    print("Three is greater than two")
输出结果图 1 所示。


图 1

这个条件语句中,因为 3>2 的结果为 True,所以会打印字符串 "Three is greater than two"。

if 语句

if 语句在编程语言中用来判定所给定的条件是否满足,根据判定的结果来决定执行哪些操作——如果条件为 True,执行代码块,如果条件为 False,则跳过而不执行其后面的语句。

在 Python 中,if 语句包含以下部分
  • if关键字;
  • 条件;
  • 冒号;
  • 从下一行开始,缩进的代码块(即主体)。

if 语句有两个主要部分:条件和主体。条件应该是一个布尔值。主体是一行或多行代码。如果条件为 True,就可以执行这些代码。

例如,我们将用户输入的内容赋值给变量 name,然后判断赋值的内容是否等“Johnson”,如果相等,就打印出 "Hello my son.",代码如下。
name=input("Please input your name:")
if name=="Johnson":
    print ("Hello my son.")
可以看到,当输入内容是“Johnson”,满足条件 name= ="Johnson",才会打印出 "Hello my son.",而如果输入其他内容,因为该条件不满足,所以不会打印任何内容,如图2 所示。

显示结果
图 2

else 语句

我们之前学过,只有条件为 True 时,if 语句才会执行代码块。如果条件为 False,我们还是想要做些事情,就需要使用 if...else 语句了。if...else 语句看上去和 if 语句很相似,只不过它有两个代码块。关键字 else 放在两个代码块中间。在 if...else 语句中,当 if 语句条件为 False 时,else 子句才会执行。

else 语句中不包含条件,在代码中,else 语句中包含以下部分:
  • else关键字;
  • 冒号;
  • 从下一行开始,缩进的代码块

我们回到刚才的示例中,这次要加上 else 语句,如果名字不是 Johnson,那么会说 "Hello my friend.",代码如下。
name=input("Please input your name:")
if name=="Johnson":
    print ("Hello my son. ")
else:
    print ("Hello my friend.")
这次,如果输入的不是“Johnson”而是“Alex”,那么程序会打印出 "Hello my friend.",如图 3所示。

显示结果
图 3

elif 语句

我们经常需要查看一系列的条件,当其中某一个条件为 True 时,就做相对应的事情,这时候,就要创建一连串的 if...else 语句。

在这种情况下,就可以从常规的 if 语句开始,在主体的代码块之后,输入关键字 elif,紧跟着是另一个条件和另一个语句块。我们可以一直这样做下去,直到所有的条件都执行完,并且对于条件的数量是没有限制的。如果没有条件为真,就会执行最后一个 else 部分。

elif 语句中包含以下部分:
  • elif 关键字;
  • 条件;
  • 冒号;
  • 从下一行开始,缩进的代码块。

我们还是继续刚才的示例:
  • 如果用户输入的是“Johnson”,那么要打印的字符串就是 "Hello my son.";
  • 如果用户输入“Judy”,那么要打印的字符串就是 "Hello my daughter.";
  • 如果输入“Aric”,那么要打印的字符串就是 "Hello my friend";
  • 如果是“John”,那么要和自己打个招呼 "Hello to myself.";
  • 如果以上内容都不是,要打印的字符串就变成了 "Hello others."。

如果愿意的话,我们可以有任意多个 elif 子句,代码如下。
name=input("Please input your name:")
if name=="Johnson":
    print("Hello my son.")
elif name=="Judy":
    print("Hello my daughter.")
elif name=="Aric":
    print("Hello my friend.")
elif name=="John":
    print("Hello to myself.")
else:
    print("Hello others.")

我们可以像下面这样来解释一下这些 elif 语句
  • 如果第 1 个条件为 True,执行第 1 个代码块;
  • 如果第 2 个条件为 True,执行第 2 个代码块;
  • 如果第 3 个条件为 True,执行第 3 个代码块;
  • .......
  • 如果上述条件均为False,则执行 else 部分。

当使用这样一个带 elif 部分的 if...else 语句串的时候,我们就可以确保只有一个代码块会执行。当发现某一个条件为 True,就会执行其所对应的代码块,而不会再验证其他的条件了。如果所有的条件都不为 True,就会执行 else 代码块。

还有一件事需要注意:最后的 else 是可选的。然而,如果没有这个 else,当所有条件都不为真时,if...else 语句块中的内容都将不会执行,代码如下。
name=input("Please input your name:")
if name=="Johnson":
    print("Hello my son.")
elif name=="Judy":
    print("Hello my daughter.")
elif name=="Aric":
    print("Hello my friend.")
elif name=="John":
    print("Hello to myself.")
上面这段代码省略了最终 else 部分,当输入“Peter”时候,因为这不是你想要打招呼的人,所以不会打印出任何内容,如图 4 所示。

打印结果
图 4