首页 > 解决方案 > 在对函数结果使用类型提示时,我应该使用“预期”类型吗?

问题描述

我的简单问题是如果结果可以采用多种类型,如何指定(类型提示)函数的结果值。

官方 PEP 484 文档声明使用“预期”类型(例如“这表明 name 参数的预期类型是 str。类似地,预期返回类型是 str。)

假设无论出于何种原因,该函数不仅可以返回 str 还可以返回 int 或 None 或任何类型。关键是它可能需要多次。

def get_first_name(last_name: str) -> ???:

“预期”类型是“预期”类型吗?所以str?还是我必须输入提示所有可能的类型?

提前谢谢了!

标签: pythontype-hinting

解决方案


当它说“预期类型”时,意味着类型检查器应该在实际类型不符合预期时发出警告。

Union当参数或返回值可以是多种类型时,可以使用类型。并且使用类型None来处理允许作为不存在值的占位符的特定情况。Optional所以你会写:

def get_first_name(last_name: str) -> Optional[str]:

推荐阅读