6

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

我知道如何自己实现它或使用其他解决方案(比如foo = (bar, True)我觉得丑陋且不可读的解决方案)。只是好奇是否有现有的解决方案。

4

1 回答 1

4

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

于 2013-10-12T21:28:07.793 回答