条件语句(if-else)的多种写法
在写一些条件语句的时候可以根据自己的喜好选择写法,而不是千篇一律的第一种写法,也可以提高代码的美观程度;后几种酌情使用,一般来说前两种就行了,用后面几种要小心喽🤪🤪🤪🤪
写法1 :
if age > 18:
return "已成年"
else:
return "未成年"
# 最常见普通的条件语句写法
写法2 :
语法: <on_true> if <condition> else <on_false>
example:
>>> age1 = 20
>>> age2 = 17
>>>
>>>
>>> msg1 = "已成年" if age1 > 18 else "未成年"
>>> print msg1
已成年
>>>
>>> msg2 = "已成年" if age2 > 18 else "未成年"
>>> print msg2
未成年
>>>
写法3 :
语法:
<condition> and <on_true> or <on_false>
example:
>>> msg1 = age1 > 18 and "已成年" or "未成年"
>>> msg2 = "已成年" if age2 > 18 else "未成年"
>>>
>>> print(msg1)
已成年
>>>
>>> print(msg2)
未成年
写法4 :
语法:
(<on_false>, <on_true>)[condition]
example:
>>> msg1 = ("未成年", "已成年")[age1 > 18]
>>> print(msg1)
已成年
>>>
>>>
>>> msg2 = ("未成年", "已成年")[age2 > 18]
>>> print(msg2)
未成年
写法5 :
语法:
(lambda: <on_false>, lambda:<on_true>)[<condition>]()
example:
>>> msg1 = (lambda:"未成年", lambda:"已成年")[age1 > 18]()
>>> print(msg1)
已成年
>>>
>>> msg2 = (lambda:"未成年", lambda:"已成年")[age2 > 18]()
>>> print(msg2)
未成年
写法6 :
语法:
{True: <on_true>, False: <on_false>}[<condition>]
example:
>>> msg1 = {True: "已成年", False: "未成年"}[age1 > 18]
>>> print(msg1)
已成年
>>>
>>> msg2 = {True: "已成年", False: "未成年"}[age2 > 18]
>>> print(msg2)
未成年
写法7:
语法:
((<condition>) and (<on_true>,) or (<on_false>,))[0]
example:
>>> msg1 = ((age1 > 18) and ("已成年",) or ("未成年",))[0]
>>> print(msg1)
已成年
>>>
>>> msg2 = ((age2 > 18) and ("已成年",) or ("未成年",))[0]
>>> print(msg2)
未成年