FastAPI - IDE 支持
Python 的类型提示特性在几乎所有 IDE(集成开发环境)中都能得到最有效的利用,例如 PyCharm 和 VS Code,以提供动态自动补全功能。
让我们看看 VS Code 如何利用类型提示在编写代码时提供自动补全建议。在下面的示例中,定义了一个名为 sayhello 的函数,该函数以 name 作为参数。函数通过在 name 参数前添加“Hello”并在中间加空格来返回一个字符串。此外,还需要确保 name 的首字母为大写。
Python 的 str class 有一个 capitalize() 方法用于此目的,但如果在输入代码时不记得它,就需要到其他地方查找。如果你在 name 后输入点号,你期望看到属性列表,但什么都没有显示,因为 Python 不知道 name 变量的运行时类型。
在这里,类型提示就派上用场了。在函数定义中将 name 的类型指定为 str。现在,当你在 name 后按下点号 (.) 时,会出现一个下拉列表,显示所有字符串方法,你可以从中选择所需的 方法(在本例中为 capitalize())。
也可以在用户定义的 class 中使用类型提示。在以下示例中,定义了一个 rectangle class,为 __init__() 构造函数的参数添加了类型提示。
class rectangle:
def __init__(self, w:int, h:int) ->None:
self.width=w
self.height=h
以下是一个使用上述 rectangle class 对象的函数。该声明中使用的类型提示是 class 的名称。
def area(r:rectangle)->int:
return r.width*r.height
r1=rectangle(10,20)
print ("area = ", area(r1))
在这种情况下,IDE 编辑器也会提供自动补全支持,提示实例属性的列表。以下是 PyCharm 编辑器的截图。
FastAPI 大量使用了类型提示。这一特性随处可见,例如路径参数、查询参数、headers、bodies、dependencies 等,以及验证来自请求的数据。OpenAPI 文档生成也使用了类型提示。