Python if-else 语句在一行中
Python if-else statement on one line
使用三元运算符if-else
在一行上写一个语句,例如
result = 'a' if number == 1 else 'b'
. 如果满足语句中的条件,则表达式返回左边的if
值,否则
else
返回语句中的值。
主程序
number = 1 result = True if number == 1 else False print(result) # 👉️ True result = 'a' if number == 1 else 'b' print(result) # 👉️ 'a'
我们使用三元运算符if-else
在一行上写了一条语句。
在第一个示例中,我们检查number
变量是否等于1
。
如果满足条件,则True
返回,否则False
返回。
换句话说,三元运算符检查是否if
满足语句中的条件。
如果满足条件,则返回左边的值,否则返回右边的值。
这在伪代码中看起来如下。
主程序
result = A if condition_is_met else B
以下是您如何使用长格式语法实现示例。
主程序
number = 1 if number == 1: result = 'a' else: result = 'b' print(result) # 👉️ 'a'
if-else
这是单行语句的另一个示例。
主程序
name = None result = name if name is not None else 'default' print(result) # 👉️ 'default'
该if
语句检查name
变量是否不存储None
值。
如果满足条件,
name
则返回变量的值,否则default
返回字符串。您也可以不在一行中写一个if
语句。else
主程序
number = 15 if number == 15: print('The number is equal to 15')
但是,如果在下一行满足条件,则缩进要运行的代码更具可读性。
如果需要
在一行中编写if-elif-else语句,则可以使用嵌套的三元运算符。
主程序
number = 15 result = 'a' if number > 50 else 'b' if number < 50 else 'c' print(result) # 👉️ 'b'
该if
语句检查number
变量是否大于50
。
如果满足条件,a
则返回字符串。
否则,else
返回该语句并检查另一个条件。
如果
number
变量小于50
,则返回字符串,否则返回(如果数字等于)。 b
c
50
这在伪代码中看起来如下。
主程序
result = A if condition else B if condition else C
换句话说,A
如果满足条件则返回,否则,else
语句返回另一个条件。
如果满足其他条件,则B
返回。
如果不满足任何条件,则C
返回。
这是示例的长格式等价物。
主程序
number = 15 if number > 50: result = 'a' elif number < 50: result = 'b' else: result = 'c' print(result) # 👉️ 'b'
长格式语法更易于阅读,但也更冗长。
在处理多个复杂条件时,if-elif-else
如果您的目标是关注可读性,那么使用多行应该是您的首选方法。