📌 系列声明
本文基于对 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)添加了类型提示后,在后续涉及相关参数时,会自动触发有关参数类似的代码补全提示
- 例:
- 在参数
name后,触发了有关str类型的相关方法提示
4)添加了类型提示后,还能检查其中的错误
- 例:
- 字符串与浮点数不能相加,所以要先使用
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、将类作为类型进行声明:
- 例:
- People是一个类,有一个属性
name,在函数get_name中,将参数类型声明为People,后续涉及参数时,会自动触发有关People类的属性/方法等提示