Fastapi 简明教程

FastAPI - IDE Support

Python 的类型提示功能在几乎所有 IDEs (集成开发环境)中(例如 PyCharmVS Code )中都得到了最有效的利用,可以提供动态自动完成功能。

让我们看看 VS Code 如何使用类型提示,在编写代码时提供自动完成功能。在下面的示例中,定义了一个名为 sayhello 的函数,名称作为参数。该函数通过给 name 参数添加一个空格,将“Hello”与其连接,从而返回一个字符串。此外,还需要保证名称的首字母大写。

Python 的 str 类有一个 capitalize() 方法用于此目的,但如果在键入代码时不记得,就需要到其他地方搜索它。如果在名称后面加点,就会看到属性列表,但没有显示任何内容,因为 Python 不知道 name 变量的运行时类型。

ide1

这里,类型提示就派上用场了。将 str 作为函数定义中的 name 类型包含进去。现在,当在 name 后面按点 (.) 时,就会出现一个包含所有字符串方法的下拉列表,从中可以选择所需的方法(在本例中为 capitalize())。

ide2

也可以对用户定义的类使用类型提示。在以下示例中,定义了一个矩形类,其中包含传递给 init() 构造函数的参数的类型提示。

class rectangle:
   def __init__(self, w:int, h:int) ->None:
      self.width=w
      self.height=h

以下是一个将上述矩形类对象用作参数的函数。声明中使用的类型提示是类的名称。

def area(r:rectangle)->int:
   return r.width*r.height
r1=rectangle(10,20)
print ("area = ", area(r1))

此外,IDE 编辑器还提供了自动完成功能,提示实例属性列表。以下是 PyCharm 编辑器的屏幕截图。

ide4

FastAPI 大量使用了类型提示。此功能无处不在,如路径参数、查询参数、标头、正文、依赖关系等,以及验证来自传入请求的数据。OpenAPI 文档生成也使用类型提示。