Python 相当于 getOrElse

标签 python

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

相关文章:

python - 重新实现QWebView复制链接

python - 如何查询 Google 的 Safebrowsing API 以使用 Python 检查 URL?

python - 如何使用 pycrypto 执行河豚解密

Python 类相互静态(类)变量

python - 如何检查两个 XML 文档的等价性?

python - Pytorch的 "Fold"和 "Unfold"是如何工作的?

python - 是否可以使用h5py将大数据直接加载到numpy int8数组中?

python - Pandas 弄乱了数据框

python - 将 Pelican 文章拆分为多个页面

python - scipy.optimize.fmin 和 scipy.optimize.minimize 之间的区别