在具有可选类型的语言中,您有一个名为 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 '.'
关于Python 相当于 getOrElse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49131578/