【发布时间】:2021-04-30 20:23:25
【问题描述】:
我在 Django 源代码中找到了以下行:
actions.extend(self.get_action(action) for action in self.actions or [])
参数self.get_action(action) for action in self.actions or [] 必须是可迭代值的理解,但我无法弄清楚or [] 片段可能意味着什么。
没有if,所以or 没有用在布尔表达式中,这是我认为我在Python 中熟悉的唯一用法。网络搜索只返回 or 的布尔使用。
这是什么语法?
【问题讨论】:
-
or不是生成器表达式的特殊语法。它可以帮助您在(self.actions or [])周围放置括号,然后检查True or []和False or []的结果。
标签: python