首页 > 解决方案 > 方括号内带有“或”的python语句

问题描述

这是我从 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)

标签: python

解决方案


build_args 的实例化只是在列表结构中评估逻辑布尔 OR 语句。在评估 OR 语句后,build_args 中将只存储一个布尔值。(给 ukemi 的道具,打败我)

由于它也包含在代码片段中,因此我将在此处添加以下“.extend()”的信息。本质上 .extend() 然后只是将可迭代结构的所有项目附加到列表的末尾,因此 build_args 的内容将是[<boolean>, '-j', <job_string>]


推荐阅读