我在PEP 532中遇到了“协议驱动的断路器操作员”一词,但找不到它的确切含义。
你能解释一下这句话是什么意思吗?
在这种情况下,“协议”是一个 API。另一个短语“短路”可能更容易理解“断路”。如:
if text is None or not text.startswith("lorem"):
raise RuntimeError("text should exist and start with 'lorem'")
由于只有 if is nottext.startswith()
才是有效代码,所以上面的代码使用运算符“短路” ,如果左手为真,则不会费心评估右手参数。同样,如果左手为假,则运算符短路(因为结果必须为假)。text
None
or
and
所以这个 PEP 的重点是增强构建表达式的设施,这些表达式可以以更复杂的方式短路。