Python if else elif 语句
- Python 的 if-elif-else 语句用于编写条件流程代码。
- 语句的顺序是 if…elif…else。
- “elif”是“else if”语句的缩写。缩写是为了减少过多的缩进。
- else 和 elif 语句是可选的。
- 可以有多个 elif 语句。
- if 语句中只能有一个 else 代码块。
- if、else 和 elif 是Python 中的保留关键字。
- Python 没有像其他语言那样的 switch-case 语句。在 Python 脚本中,if-else 条件语句足以实现控制流程。
- Python 中可以嵌套 if-else 语句块。
- Python 的三元运算符允许我们用一行代码编写 if-else 语句。当 if-else 条件很简单,并且我们希望减少代码长度时,它非常有用。
Python if else 语法
Python 中 if-else 语句的一般语法是:
python
if condition:
# code
elif condition:
# code
... # multiple elif statements
else:
# default code- 每个if-elif语句后面都跟着一个条件。
- 如果条件判断为真,则执行该代码块中的代码。
- 一旦代码块中的任何代码执行完毕,控制流就会从 if-elif-else 代码块中移出。
- 如果所有条件都不为真,则执行 else 代码块。
Python if-elif-else 示例
假设我们有一个函数,它接受一个国家名称并返回其首都。我们可以使用 if-else 条件语句来实现这个逻辑。
python
def get_capital(country):
if country == 'India':
return 'New Delhi'
elif country == 'France':
return 'Paris'
elif country == 'UK':
return 'London'
else:
return None
前面我们提到过,elif 语句是可选的。让我们来看另一个没有 elif 语句的简单例子。
python
def is_positive(num):
if num >= 0:
return 'Positive'
else:
return 'Negative'即使是 else 代码块也是可选的。我们来看另一个只有 if 条件的例子。
python
def process_string(s):
if type(s) is not str:
print('not string')
return
# code to process the input string如果你想知道空的return 语句有什么作用,它会向调用者返回None 。
一行 Python if-else 语句
假设我们有一个简单的 if-else 条件语句,如下所示:
python
x = 10
if x > 0:
is_positive = True
else:
is_positive = False我们可以使用 Python 三元运算符将整个 if-else 代码块移到一行中。
三元运算的语法是:
python
value_true if condition else value_false让我们把上面的 if-else 语句块改写成一行。
python
is_positive = True if x > 0 else False
嵌套的 if-else 条件
我们可以嵌套多个 if-else 条件语句。请注意缩进,否则结果可能出乎意料。
让我们来看一个包含多个 if-else-elif 条件并嵌套的长示例,以创建一个智能数字处理脚本。
python
# accepting user input
x = input('Please enter an integer:\n')
# convert str to int
x = int(x)
print(f'You entered {x}')
if x > 0:
print("It's a positive number")
if x % 2 == 0:
print("It's also an even number")
if x >= 10:
print("The number has multiple digits")
else:
print("It's an odd number")
elif x == 0:
print("Lovely choice, 0 is the master of all digits.")
else:
print("It's a negative number")
if x % 3 == 0:
print("This number is divided by 3")
if x % 2 == 0:
print("And it's an even number")
else:
print("And it's an odd number")以下是该代码多次迭代的示例输出。
shell
Please enter an integer:
10
You entered 10
It's a positive number
It's also an even number
The number has multiple digits
Please enter an integer:
0
You entered 0
Lovely choice, 0 is the master of all digits.
Please enter an integer:
-10
You entered -10
It's a negative number
And it's an even number结论
Python 的 if-else 条件语句允许我们在程序中编写条件逻辑。它的语法简洁易用。我们可以使用三元运算符将简单的 if-else 条件语句简化为一行代码。当有多个嵌套的 if-else 条件语句时,请注意缩进。