在具有可选类型的语言中,您有一个名为 orElse 或 getOrElse 的 fn,它可以让您这样做:
None.getOrElse(1) == 1
Some(2).getOrElse(1) == 2
即您可以指定一个默认值。在 Python 中,我发现我在写:
if output_directory:
path = output_directory
else:
path = '.'
使用 getOrElse 调用会更干净。搜索 orElse 和 getOrElse 会找到逻辑运算符。有合适的Python fn吗?
编辑:getOrElse 与三元运算符调用不同,因为它要求您引用 output_directory 两次。如果将其替换为复杂的表达式,这将是一个特殊问题。 (在功能风格中很正常。)
请您参考如下方法:
只需使用 或 来实现等效逻辑:
path = output_directory or '.'
