google 风格背后 "x = x or some_constant" 的推理

Reasoning behind "x = x or some_constant" in google style

google's pydoc styleguide 我偶然发现了 2.14.4

是:

 ...
 def f(x=None):
     if x is None:
         x = []

否:

 ...
 def f(x=None):
     x = x or []

我想知道,为什么 if 语句优于 x = x or []?这背后是否有更深层次的含义?

如果 x 为 false(布尔值),则它将被替换为 []。通常你只想在它实际上是 None.

时替换