Python中的可选变量

时间:2013-10-12 21:23:56

标签: python

你们是否知道在C ++中是否存在与boost :: optional相当的Python(或者自C ++ 11以来的std :: optional:http://en.cppreference.com/w/cpp/utility/optional),即处理语义可选<的库/ em>变量?

我知道如何自己实现它或使用其他解决方案(例如foo = (bar, True),我觉得这些解决方案很丑陋且难以理解)。只是好奇是否有现有的解决方案。

1 个答案:

答案 0 :(得分:2)

可选变量是一种有限形式的代数类型,主要用于静态类型语言。在像Python这样的动态类型语言中,并不需要它们。正如arshajii所说,您可以使用None(或者,如果您愿意,可以使用您想要的任何其他哨兵)来表示缺席值。然后,您只需检查变量是否具有预期类型。