python 的 Type Hint 类型标注学习笔记
学习笔记,用于本人忘记知识点时回顾。
int#
在变量后加 int
即可声明该变量为 int 类型,当调用该函数时,如果填入的参数不为 int 类型,则报错。
函数名后加 -> int
声明该函数返回值为 int 类型。
def f(a: int, b: int) -> int:
return a + b
print(f(1, 2)) # 输出 3
print(f('a', 'b')) # 报错,输入的不是 int 类型变量
list#
在 lst
变量后面加入 list[int]
声明 lst 变量为 list 类型,list 内部变量为 int 类型。
def f(lst: list[int]) -> int:
total = 0
for i in lst:
total += i
return total
print(f([1, 2, 3])) # 输出 6
dict#
dict
需要传入 key 的类型以及 value 的类型。
def f(d: dict[str, int]) -> int:
total = 0
for i in d.values():
total += i
return total
print(f({'a': 1, "b": 2})) # 输出 3
不固定的类型#
当传入的参数类型不是固定的时候,可以使用 |
来声明函数的变量类型。
def f(x: int | None | float) -> int | float:
if x is None:
return 0
else:
return x
print(f(None)) # 输出 0
print(f(3)) # 输出 3
不确定的类型#
使用 Any
来表明该变量为不确定、任意的,不填写变量类型的情况下,系统会默认填写 Any
(手动填写上可以使代码可读性增加)。
from typing import Any
def f(a: Any) -> Any:
return a
无返回值#
函数无返回值时,默认为 None
,可以不写但是系统会默认填 None
。
from typing import Any
def f(a: Any) -> None:
a += 1
多选一#
加入 Literal
则声明该变量的值只能是 Literal 里面的其中一个。
from typing import Literal
def f(a: int, b: Literal[True, False]) -> int:
if b is True:
return a
else:
return 0
print(f(1, True))
作者:xiaoaug
出处:https://www.cnblogs.com/xiaoaug/p/17156456.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码