用布尔表达式分配字符串[重复]

用布尔表达式分配字符串[重复],第1张

布尔表达式分配字符串[重复]

三元布尔表达式的工作方式如下:

>>> 2 and 3 or 43>>> 0 and 3 or 44

因此,此表达式:

openmode = IS_PY2 and 'w' or 'wt'

成为Python 2:

openmode = True and 'w' or 'wt'

相当于

openmode = 'w' or 'wt'

所以,我给

w

在Python 3下,IS_PY2为False,给出:

openmode = False and 'w' or 'wt'

相当于

openmode = False or 'wt'

给予

wt


所有这些都是明确地指定openmode用于文本文件,而不是二进制文件,这

w
在Python2和
wt
Python3中由指示。

虽然Python3

t
模式是默认模式,但不必对其进行精确调整。

请参阅有关

wt
mode的答案。


最后,我认为以下内容更具可读性:

openmode = 'w' if IS_PY2 else 'wt'

而这个简单得多:

openmode = 'w'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5648512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存