在 Swift 中我可以做 var?.prop
。如果 var
为 nil
,则结果为 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/