点击上方“Python3X”,选择“置顶或者星标”
第一时间收到精彩推送!
Python Every Day, 第 22 天
先看一个例子
x, y = 1, 5z = x if x > y else y # 如果x > y, z = x 否则 z = yprint(z) # 55
z = x if x > y else y # 如果x > y, z = x 否则 z = y
print(z) # 5
表达式1 if 条件 else 表达式2 构成一个表达式。 整个表达式的值,是这样计算的,如果if 后面的条件为真,整个三元操作符构成的表达式值为表达式1的值,如果为假,整个表达式的值为表达式2的值。
x, y = 1, 5z = x if x > y else y # 如果x > y, z = x 否则 z = yprint(z) # 5z = x if x < y else yprint(z) # 15
z = x if x > y else y # 如果x > y, z = x 否则 z = y
print(z) # 5
z = x if x < y else y
print(z) # 1
三元表达式的替代写法
x, y = 6, 8z = (lambda : x , lambda : y) [x > y]()print(z) # 6z = (lambda : x , lambda : y)[x < y]()print(z) # 88
z = (lambda : x , lambda : y) [x > y]()
print(z) # 6
z = (lambda : x , lambda : y)[x < y]()
print(z) # 8
x, y = 6, 8z = (x, y)[x > y]print(z) # 6 z = (x, y)[x < y]print(z) # 88
z = (x, y)[x > y]
print(z) # 6
z = (x, y)[x < y]
print(z) # 8
x, y = 6, 8z = {True: x, False: y}[x > y]print(z) # 8z = {True: x, False: y}[x < y]print(z) # 68
z = {True: x, False: y}[x > y]
print(z) # 8
z = {True: x, False: y}[x < y]
print(z) # 6
x, y = 6, 8z = (x > y) and x or yprint(z)z = (x < y) and x or yprint(z)8
z = (x > y) and x or y
print(z)
z = (x < y) and x or y
print(z)
三元表达式在Python中的应用非常广泛,我们可以看一下啊requests库中的一段代码
# Default empty dicts for dict params.data = [] if data is None else datafiles = [] if files is None else filesheaders = {} if headers is None else headersparams = {} if params is None else paramshooks = {} if hooks is None else hooksself.hooks = default_hooks()for (k, v) in list(hooks.items()): self.register_hook(event=k, hook=v)self.method = methodself.url = urlself.headers = headersself.files = filesself.data = dataself.json = jsonself.params = paramsself.auth = authself.cookies = cookies
data = [] if data is None else data
files = [] if files is None else files
headers = {} if headers is None else headers
params = {} if params is None else params
hooks = {} if hooks is None else hooks
self.hooks = default_hooks()
for (k, v) in list(hooks.items()):
self.register_hook(event=k, hook=v)
self.method = method
self.url = url
self.headers = headers
self.files = files
self.data = data
self.json = json
self.params = params
self.auth = auth
self.cookies = cookies
以上,便是 今天的分享,希望大家喜欢,觉得内容不错的,欢迎点击「在看」支持,谢谢各位。 如需查看更多[Python Every Day]系列,请点击我的主页的【每日一题】菜单。
感谢您的阅读