python - Python 中的 Swift Optionals(或 Haskell 的 Maybe)?

标签 python swift haskell option-type

在 Swift 中我可以做 var?.prop。如果 varnil,则结果为 nil,否则结果为 prop 属性的值>变量

等价地,我可以在 Haskell 中执行 var >>= prop,这给了我 None is var is None,否则它给了我将 prop 应用于 var 中的值的值(包装在 Just 中)。

Python 中是否有等效项?

最佳答案

其他答案在建议条件表达式方面是正确的,但在如何做方面是错误的。你可以这样做:

None if var is None else var.prop

或者,等价地

var.prop if var is not None else None

有一个draft PEP关于向 Python 添加这样的功能,并且已经在 Python-ideas 邮件列表上讨论过它。它看起来不会在不久的将来添加(如果有的话),但阅读 PEP 会让您了解一些现有的和建议的处理方法。

关于python - Python 中的 Swift Optionals(或 Haskell 的 Maybe)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34539117/

相关文章:

python - 如何匹配字符串中的信息

python - 使用自定义数据生成器拟合具有大量数据的 Keras 模型

haskell - 你能在同一个 cabal 包中有一个可执行文件和库吗

haskell - 以与Free Monad兼容的方式定义Free Bind

haskell - 在 Haskell 中使用自己的类型类实现最大迭代器时无法遵循类型

Python 字典理解从对象求和

python - 如何使用 Python 将 Amazon Ion 文件转换为 JSON 格式?

ios - 由于表格 View 中的可重用单元格,当 Youtube 播放器滚动到 View 之外时,它会丢失

swift - 将 U+20000 或以上的 UnicodeScalar 附加到 String

swift - 如何在代码中格式化电子邮件编辑器