在计算机编程中,if
语句是一个条件语句。它用于仅在满足特定条件时执行一段代码。例如,
假设我们需要根据学生的分数给他们分配不同的等级。
- 如果学生分数高于 90,分配等级 A
- 如果学生分数高于 75,分配等级 B
- 如果学生分数高于 65,分配等级 C
这些条件任务可以使用 if
语句来实现。
Python if 语句
if
语句仅在满足指定条件时才执行一段代码。
语法
if condition:
# body of if statement
这里,condition 是一个布尔表达式,例如 number > 5
,它会评估为 True
或 False
。
- 如果
condition
评估为True
,则执行if
语句的主体。 - 如果
condition
评估为False
,则if
语句的主体将被跳过执行。
让我们看一个例子。

示例:Python if 语句
number = int(input('Enter a number: '))
# check if number is greater than 0
if number > 0:
print(f'{number} is a positive number.')
print('A statement outside the if statement.')
示例输出 1
Enter a number: 10 10 is a positive number. A statement outside the if statement.
如果用户输入 10,条件 number > 0
评估为 True
。因此,执行 if
的主体。
示例输出 2
Enter a number: -2 A statement outside the if statement.
如果用户输入 -2,条件 number > 0
评估为 False
。因此,if
的主体被跳过执行。
Python 中的缩进
Python 使用缩进定义代码块,例如 if
语句的主体。例如,
x = 1
total = 0
# start of the if statement
if x != 0:
total += x
print(total)
# end of the if statement
print("This is always executed.")
这里,if
的主体有两个语句。我们之所以知道这一点,是因为两个语句(紧随 if
之后)都以缩进开头。
我们通常在 Python 中使用四个空格进行缩进,尽管只要保持一致,任何数量的空格都可以。
如果你像这样编写上述代码,将会收到错误
# Error code
x = 1
total = 0
if x != 0:
total += x
print(total)
这里,我们在 if
语句之后没有使用缩进。在这种情况下,Python 会认为我们的 if
语句为空,这会导致错误。
Python if...else 语句
if
语句可以有一个可选的 else
子句。如果 if
语句中的条件评估为 False
,则执行 else
语句。
语法
if condition:
# body of if statement
else:
# body of else statement
这里,如果 if
语句中的 condition
评估为
- True - 执行
if
的主体,并跳过else
的主体。 - False - 执行
else
的主体,并跳过if
的主体
让我们看一个例子。

示例:Python if…else 语句
number = int(input('Enter a number: '))
if number > 0:
print('Positive number')
else:
print('Not a positive number')
print('This statement always executes')
示例输出 1
Enter a number: 10 Positive number This statement always executes
如果用户输入 10,条件 number > 0
评估为 True
。因此,执行 if
的主体,并跳过 else
的主体。
示例输出 2
Enter a number: 0 Not a positive number This statement always executes
如果用户输入 0,条件 number > 0
评估为 False
。因此,跳过 if
的主体,并执行 else
的主体。
Python if…elif…else 语句
if...else
语句用于在两个备选项中执行一段代码。
但是,如果我们需要在两个以上的备选项中做出选择,我们使用 if...elif...else
语句。
语法
if condition1:
# code block 1
elif condition2:
# code block 2
else:
# code block 3
让我们看一个例子。

示例:Python if…elif…else 语句
number = -5
if number > 0:
print('Positive number')
elif number < 0:
print('Negative number')
else:
print('Zero')
print('This statement is always executed')
输出
Negative number This statement is always executed
这里,第一个条件 number > 0
评估为 False
。在这种情况下,会检查第二个条件。
第二个条件 number < 0
评估为 True
。因此,执行 elif
块中的语句。
在上面的程序中,需要注意的是,无论变量 number
的值是什么,只会执行一个代码块。
Python 嵌套 if 语句
可以在另一个 if
语句中包含一个 if
语句。例如,
number = 5
# outer if statement
if number >= 0:
# inner if statement
if number == 0:
print('Number is 0')
# inner else statement
else:
print('Number is positive')
# outer else statement
else:
print('Number is negative')
输出
Number is positive
这个程序的工作原理如下。

更多关于 Python if…else 语句
if
语句在某些情况下,if
语句可以简化为一行。例如,
number = 10
if number > 0:
print('Positive')
这段代码可以紧凑地写成
number = 10
if number > 0: print('Positive')
这种一行式方法保留了相同的功能,但格式更简洁。
if...else
中的三元运算符Python 没有三元运算符。但是,我们可以使用 if...else
来像其他语言中的三元运算符一样工作。例如,
grade = 40
if grade >= 50:
result = 'pass'
else:
result = 'fail'
print(result)
可以写成
grade = 40
result = 'pass' if number >= 50 else 'fail'
print(result)
如果需要,我们可以使用逻辑运算符(如 and
和 or
)来创建复杂的条件,以便与 if
语句一起使用。
age = 35
salary = 6000
# add two conditions using and operator
if age >= 30 and salary >= 5000:
print('Eligible for the premium membership.')
else:
print('Not eligible for the premium membership')
输出
Eligible for the premium membership.
这里,我们使用了逻辑运算符 and
在 if
语句中添加了两个条件。
我们还使用了 >=
(比较运算符)来比较两个值。
逻辑运算符和比较运算符经常与 if...else
语句一起使用。访问 Python 运算符 了解更多。