在 Python 中,Optional 并不是内置的类型,而是通过 typing 模块来实现的。它用于表示某个值可以是特定类型,也可以是 None。
要使用 Optional 类型,首先需要导入 typing 模块:
from typing import Optional
Optional[x] 等价于 Union[x, None],表示该变量可以是类型 x,也可以是 None。
以下是一个使用 Optional 类型的示例函数,该函数尝试从字典中获取一个键的值,如果键不存在,则返回 None:
def get_value(dictionary: dict[str, int], key: str) -> Optional[int]:
return dictionary.get(key)
# 使用示例
values = {'a': 1, 'b': 2}
print(get_value(values, 'a')) # 输出: 1
print(get_value(values, 'c')) # 输出: None
在上述示例中,get_value 函数的返回类型被注解为 Optional[int],表示它可能返回一个 int 类型的值,或者返回 None。
使用 Optional 类型的好处是可以使代码更加清晰地表明某个参数或返回值可能为 None,增强代码的可读性和可维护性,并且一些静态类型检查工具(如 mypy)可以利用这些类型注解来进行更严格的类型检查,提前发现一些潜在的类型错误。
1242

被折叠的 条评论
为什么被折叠?



