FastAPI学习笔记(1):前期准备1_Python类型提示

37 阅读3分钟

📌 系列声明

本文基于对 FastAPI 官方文档 的学习与理解整理而成,部分内容参考了官方文档的结构和示例。本文旨在以中文形式分享学习心得,帮助初学者快速入门。更详细、权威的内容请参考官方文档。

一、简介:

"类型提示" :在python3.6版本及后续版本中添加的一种新的语法,用于声明一个变量的类型

  • 类型提示不会影响代码的执行
  • 通过类型提示,在后续代码编写过程中,涉及到相关参数时,会自动触发有关参数相关的代码补全提示
  • 通过类型提示,还可以在代码编写过程中,检查代码中的错误

二、示例:

2.1、代码块:

def say_hello(name: str):
    say_hello = "Hello, " + name.title()
    return say_hello
print(say_hello("wangming"))

2.2、详解:

1)在定义函数时,在参数 name参数后,可以通过 :进行类型提示

2)类型提示不会影响后续程序的运行

3)添加了类型提示后,在后续涉及相关参数时,会自动触发有关参数类似的代码补全提示

  • 例:

image.png

  • 在参数 name后,触发了有关 str类型的相关方法提示

4)添加了类型提示后,还能检查其中的错误

  • 例:

image.png

  • 字符串与浮点数不能相加,所以要先使用 str(height)height转换为字符串
  • 修改后代码:
 def get_height(name: str,height: float):
     name_height =name + "'s height is " + str(height)
     return name_height

三、声明类型:

3.1、基本类型:

  • str:字符串
  • int:整数
  • float:浮点数
  • bool:布尔值
  • bytes:字节

3.2、嵌套类型:

3.2.1、简介:

1)有些容器数据结构内部还包括其他数据类型,比如列表(list)、元组(tuple)、字典(dict)、集合(set)等

2)对于python3.9及以后得版本,可以直接添加类型提示

  • 例:

    def list_process(one_list: list[str]):
      for item in one_list:
          print(item)
    
    • list[str]表示列表内部元素为字符串
    • 注意,这里 list首字母一定要是小写,首字母大写会报错
    • 由于列表是带有"子类型"的类型,所以把子类型放在方括号中

3)对于python3.8及以前得版本,需要使用 typing模块先导入容器数据结构,且首字母需要大写

  • 例:

    from typing import List
    def list_process(one_list: List[str]):
        for item in one_list:
            print(item)
    
    • 注意,这里 List首字母一定要大写,首字母小写会报错

4)上面两中申明嵌套类型的方式,对程序的运行功能没有影响,选用哪种方式只取决于python版本和个人习惯

3.2.2、声明元组和集合:

  • 声明 tuple 和 set 的方法与声明列表方法一样
def process(one_turple: tuple[int, int, str], one_set: set[bytes]):
    return one_turple, one_set

3.2.3、声明字典:

  • 由于字典中包含键和值,所以字典中需要添加两个类型提示,并使用 ,隔开
  • 例:
def dirt_process(one_dirt: dict[str, float]):
    for key, value in one_dirt.items():
        print(key)
        print(value)

3.3、将类作为类型进行声明:

  • 例:

image.png

  • People是一个类,有一个属性 name,在函数 get_name中,将参数类型声明为 People,后续涉及参数时,会自动触发有关 People类的属性/方法等提示