更多课程 选择中心


Python培训

400-996-5531

Python中的三元表达式

  • 发布:Python培训
  • 来源:Python3X
  • 时间:2019-08-13 16:44

在Python 有一种语法,初学者看到一脸懵逼,其实它很简单,就是一个语法,不要太当回事。知道它,会用即可。

先看一个例子

x, y = 1, 5

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, 5

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, 8

z = (lambda : x , lambda : y) [x > y]()

print(z) # 6

z = (lambda : x , lambda : y)[x < y]()

print(z) # 8

x, y = 6, 8

z = (x, y)[x > y]

print(z) # 6

z = (x, y)[x < y]

print(z) # 8

x, y = 6, 8

z = {True: x, False: y}[x > y]

print(z) # 8z = {True: x, False: y}[x < y]

print(z) # 6

x, y = 6, 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 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入门视频教程
下一篇:教你用python玩转PDF文档

2021年Python全套免费视频教程在哪里?

Python编程学习路线

Python最高有几级?

人工智能与语音遥控的区别?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省