Python 中的一行中的 If-Elif-Else 语句
If-Elif-Else statement on one line in Python
使用嵌套的三元运算符在一行中实现 if-elif-else 语句。第一个三元组应该检查条件,如果不满足条件,它应该返回另一个完成elif/else
语句工作的三元组。
主程序
my_str = 'bob' result = ("Anonymous" if not my_str else my_str.upper() if len(my_str) > 2 else my_str.capitalize()) print(result) # 👉️ 'BOB' # ------------------------------------------ my_num = 50 result = 10 if my_num > 100 else 20 if my_num < 100 else 0 print(result) # 👉️ 20
我们使用嵌套的三元运算符在一行中实现 if-elif-else 语句。
if/else
三元运算符与语句非常相似。
主程序
name = 'Bob' result = 'James Doe' if not name else name print(result) # 👉️ 'Bob'
该示例检查name
变量是否为假,如果是,则返回字符串“James Doe”,否则name
返回变量。
要有一个内联的 if-elif-else 语句,我们必须使用嵌套的三元组。
主程序
my_num = 50 result = 10 if my_num > 100 else 20 if my_num < 100 else 0 print(result) # 👉️ 20
您可以将语句括在括号中以使其更具可读性。
主程序
my_num = 50 result = (10 if my_num > 100 else 20 if my_num < 100 else 0) print(result) # 👉️ 20
示例中的第一个三元检查变量存储的值是否大于100
。
如果满足条件,则10
返回该数字。
如果不满足条件,则
else
语句运行并返回嵌套的三元运算符。嵌套的三元运算符检查变量是否小于100
。
如果满足条件,20
则返回数字,否则0
返回。
这是另一个例子。
主程序
my_num = 50 result = ('a' if my_num > 100 else ('b' if my_num < 100 else 'c')) print(result) # 👉️ 'b'
如果不满足条件,则else
语句运行并且嵌套三元检查另一个条件。
嵌套三元的作用与语句的作用非常相似。
elif/else
嵌套三元检查变量存储的值是否小于100
,如果满足条件,则b
返回字符串。这是elif
声明。
如果不满足条件,则语句运行并返回else
字符串。c
以下是我们如何使用
if/elif/else
语句实现示例的三元运算符。
主程序
my_num = 50 if my_num > 100: result = 'a' elif my_num < 100: result = 'b' else: result = 'c' print(result) # 👉️ 'b'
使用if-elif-else
语句更具可读性,但也更冗长。
使用嵌套的三元运算符是否会使您的代码更具可读性取决于您要检查的条件的复杂性。
并不总是建议使用速记语法。