[英]python statement with `or` inside square brackets
这是我从 setup.py python 文件粘贴的代码片段。 我是 python 新手,不理解这个build_args
变量。 有人可以给我一些解释吗?
build_args = [NINJA or MAKE]
# control the number of concurrent jobs
if self.jobs is not None:
build_args.extend(['-j', str(self.jobs)])
subprocess.check_call(build_args)
用:
build_args = [NINJA or MAKE]
NINJA
是“真实的”,那么build_args = [NINJA]
NINJA
是“falsy”,则build_args = [MAKE]
注意:Python 的 Truthy 和 Falsy - 广义布尔值
在 python 中,除了布尔值本身之外,还有其他等效于True
和False
的值:
在布尔运算的上下文中,以及当控制流语句使用表达式时,以下值被解释为 false:
False
None
- 所有类型的数字零
- 空字符串和容器(包括字符串、元组、列表、字典、集合和冻结集)
所有其他值都被解释为真。
or
真值表:
X | 是 | x or y |
---|---|---|
真的 | 真的 | X |
真的 | 错误的 | X |
错误的 | 真的 | 是 |
错误的 | 错误的 | 是 |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.