Skip to main content
 首页 » 编程设计

Python 相当于 getOrElse

2025年05月04日14lovecherry

在具有可选类型的语言中,您有一个名为 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 '.'