本文带您了解Linux平台下Python if语句、if..else语句、if..elif..else语句、嵌套if语句。Python支持其他语言中的常见流程控制语句,并进行了一些修改,if控制语句是最基本,最著名的语句之一,用于根据特定条件执行代码。在本文中,我们将介绍Python中if语句的基础。安装Python请参考在CentOS 7/CentOS 8发行版上安装Python 3.8.1版本的方法。
Python if语句 Python中if语句的最基本形式如下: if EXPRESSION: STATEMENT if语句以if关键字开头,后跟条件表达式。 EXPRESSION后必须加(:)冒号,如果EXPRESSION的评估结果为True,则将执行STATEMENT。如果EXPRESSION返回False,则什么也不会发生,则STATEMENT将被忽略。STATEMENT是任何语句,包括多个语句或进一步嵌套的if语句,要不执行任何语句,请使用pass语句。 STATEMENT块以缩进开始,以第一条未缩进的行结束,大多数人选择使用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),并且将执行打印功能: 10 is greater than 5. Python支持标准比较操作: a == b-如果a和b相等,则为true。 a != b-如果a和b不相等,则为true。 a > b-如果a大于b,则为true。 a >= b-如果a等于或大于b,则为true。 a < b-如果a小于b,则为true。 a <= b-如果a等于或小于b,则为true。 您还可以使用in关键字来检查可迭代值(字符串、列表、元组、字典[dictionary]等)中是否存在值: s = 'ywnz' if 'ze' in s: print('True.') 这是使用字典的另一个示例: d = {'a': 2, 'b': 4} if 'a' in d: print('True.') 当在字典上使用in关键字时,它将检查字典是否具有特定的键。 要否定条件表达式,请使用逻辑非运算符: number = int(input('Enter a number: ')) if not number < 5: print(number, 'is greater than 5.')
if..else语句 if..else语句评估条件并根据结果执行两个语句之一。 Python if..else语句采用以下形式: if EXPRESSION: STATEMENT1 else: STATEMENT2 如果EXPRESSION的值为True,则将执行STATEMENT1,否则,如果EXPRESSION返回False,则将执行STATEMENT2,语句中只能有一个else子句。 else关键字必须以(:)冒号结尾,并且与相应的if关键字具有相同的缩进级别。 让我们在前面的示例脚本中添加else子句: number = int(input('Enter a number: ')) if number > 5: print(number, 'is greater than 5.') else: print(number, 'is equal or less than 5.') 如果运行代码并输入数字,则脚本将根据数字是大于还是小于/等于5来打印不同的消息。
if..elif..else语句 elif关键字是else if的缩写。 Python if..elif..else语句采用以下形式: if EXPRESSION1: STATEMENT1 elif: EXPRESSION2: STATEMENT2 else: STATEMENT3 如果EXPRESSION1的值为True,则将执行STATEMENTS1,如果EXPRESSION2评估为True,则将执行STATEMENTS2,如果没有一个表达式的结果都为True,则执行STATEMENTS3。 elif关键字必须以(:)结尾,并且与相应的if关键字具有相同的缩进级别,语句中可以有一个或多个elif子句。else子句是可选的,如果未使用else子句,并且所有表达式的求值为False,则不会执行任何语句。 条件被顺序评估,条件返回True后,将不执行其余条件,并且程序控制移至if语句的末尾。 让我们在前面的脚本中添加一个elif子句: number = int(input('Enter a number: ')) if number > 5: print(number, 'is greater than 5.') elif number < 5: print(number, 'is less than 5.') else: print(number, 'is equal to 5.') 与大多数编程语言不同,Python没有switch或case语句,多个elif语句的序列可以用作switch或case的替代项。
嵌套if语句 Python允许您在if语句中嵌套if语句,通常,您应始终避免过度缩进,并尝试使用elif而不是嵌套if语句。 以下脚本将提示您输入三个数字,并在数字中显示最大的数字: number1 = int(input('Enter the first number: ')) number2 = int(input('Enter the second number: ')) number3 = int(input('Enter the third number: ')) if number1 > 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.') 输出结果如下所示: Enter the first number: 455 Enter the second number: 567 Enter the third number: 354 567 is the largest number.
多种条件 逻辑or和and运算符使您可以在if语句中组合多个条件。 这是脚本的另一个版本,可打印三个数字中最大的数字,在此版本中,我们将使用逻辑和运算符和elif代替嵌套的if语句: 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,if..else和if..elif..else语句使您可以通过评估给定条件来控制Python执行的流程。
相关主题 |