Python if..else语句

时间:2020-03-05 15:31:27  来源:igfitidea点击:

决策是计算机程序设计中最基本的概念之一。
Python支持其他语言中常见的流控制语句,但有一些修改。
if-control语句是用于根据特定条件执行代码的最基本和最广为人知的语句之一。

在本文中,我们将介绍Python中if语句的基础知识。

Python if语句

Python中if语句最基本的形式如下:

if EXPRESSION:
  STATEMENT

if语句以if关键字开头,后跟条件表达式。

表达式后面必须跟(:)冒号。
如果表达式的计算结果为True,则执行该语句。
如果表达式返回False,则不会发生任何事情,语句将被忽略。
语句可以是任何语句,包括多个语句或者进一步嵌套的if语句。
要不执行任何语句,请使用pass语句。

语句块以缩进开始,以第一个未缩进的行结束。
大多数人选择使用4空格或者2空格缩进。
Python代码的官方样式教程建议每个缩进级别使用4个空格,并避免在缩进中混合使用制表符和空格。

让我们看看下面的示例脚本,它检查给定的数字是否大于5。

number = int(input('Enter a number: '))

if number > 5:
    print(number, 'is greater than 5.')

将代码保存在文件中并从命令行运行:

python test.py

脚本将提示您输入一个数字。
例如,如果输入10,条件表达式的计算结果将为True(10大于5),并且将执行print函数。

10 is greater than 5.

Python支持标准的比较操作:

  • a==b-如果a和b相等,则为真。

  • a!=b-如果a和b不相等,则为真。

  • a>b-如果a大于b,则为真。

  • a>=b-如果a等于或者大于b,则为真。

  • a<b-如果a小于b,则为真。

  • a<=b-如果a等于或者小于b,则为真。

您还可以使用in关键字检查iterable(字符串、列表、元组、字典等)中是否存在值:

s = 'theitroad'
if 'ze' in s:
    print('True.')

下面是使用字典的另一个示例:

d = {'a': 2, 'b': 4}
if 'a' in d:
    print('True.')

在字典上使用时,in关键字检查字典是否具有特定的键。

要对条件表达式求反,请使用逻辑not运算符:

number = int(input('Enter a number: '))

if not number  5:
    print(number, 'is greater than 5.')
else:
    print(number, 'is equal or less than 5.')

if..else语句计算条件并根据结果执行两个语句之一。

if..else语句

Python if..else语句采用以下形式:

如果表达式的计算结果为True,则将执行语句1。
否则,如果表达式返回False,将执行语句2。
语句中只能有一个else子句。

if EXPRESSION1:
    STATEMENT1
elif: EXPRESSION2:
    STATEMENT2
else:
    STATEMENT3

else关键字必须以(:)冒号结 tail,并且与相应的if关键字处于相同的缩进级别。

让我们在前面的示例脚本中添加一个else子句:

如果运行代码并输入一个数字,脚本将根据数字是大于还是小于/等于5打印不同的消息。

elif关键字是else if的缩写。

number = int(input('Enter a number: '))

if number > 5:
    print(number, 'is greater than 5.')
elif number  number2:
    if number1 > number3:
        print(number1, 'is the largest number.')
    else:
        print(number3, 'is the largest number.')
else:
    if number2 > number3:
        print(number2, 'is the largest number.')
    else:
        print(number3, 'is the largest number.')

Python if..elif..else语句采用以下形式:

Enter the first number: 455 
Enter the second number: 567
Enter the third number: 354
567 is the largest number.

if..elif..else语句

如果表达式1的计算结果为True,则将执行语句1。
如果表达式2的计算结果为True,则将执行语句2。
如果没有一个表达式的计算结果为True,则执行语句3。

elif关键字必须以(:)冒号结 tail,并且与相应的if关键字处于相同的缩进级别。
语句中可以有一个或者多个elif子句。
else子句是可选的。
如果不使用else子句,并且所有表达式的计算结果都为False,则不会执行任何语句。

number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))

if number1 > number2 and number1 > number3:
    print(number1, 'is the largest number.')
elif number2 > number3 and number2 > number3:
    print(number2, 'is the largest number.')
else:
    print(number3, 'is the largest number.')

嵌套if语句

条件按顺序计算。
一旦一个条件返回True,其余的条件将不执行,程序控制将移到if语句的末尾。