当前位置:  开发笔记 > 编程语言 > 正文

Python中的Swift Optionals(或Haskell's Maybe)?

如何解决《Python中的SwiftOptionals(或Haskell'sMaybe)?》经验,为你挑选了1个好方法。

在斯威夫特我能做到var?.prop.这导致nil,如果varnil,否则将导致价值prop的财产var.

同样地,我可以做var >>= prop在Haskell,这给了我NonevarIS None,否则它给我应用的价值prop里面的值var(裹Just).

Python中有相应的东西吗?



1> BrenBarn..:

其他答案在建议条件表达式的正确轨道上,但在如何做到这一点上是错误的.你可以这样做:

None if var is None else var.prop

或者,等效地

var.prop if var is not None else None

有一个关于向Python添加这样一个特性的PEP草案,并且已经在Python-ideas邮件列表上对它进行了讨论.它似乎不会在不久的将来添加(如果有的话),但阅读PEP将让您了解一些现有的和提出的处理方法.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有