Python类型注解

发布于:2024-07-01 ⋅ 阅读:(13) ⋅ 点赞:(0)

变量的类型注解

使用场景:变量的类型无法确定时
限制:类型注解只是提示,不能限制变量的类型,不会导致程序报错
语法:
变量:类型
① 基础数据类型

a:int = 1
b:float = 2.0
c:str = "123"
b:bool = False

② 类对象类型

class Ex:
	pass
ex:Ex=Ex()

③ 基础容器类型注解

mylist:list =[1,2]
mytuple:tuple = (1,2)
myset:set = {1,2}
mydict:dict = {"12":12}

④ 容器类型详细注解
注意:
元组类型时,要将每个元素的类型都标记出来。
字典类型时,需要2个类型,第一个为key,第二个为value

mylist:list[int] =[1,2]
mytuple:tuple[float,int,bool] = (1.0,2,False)
myset:set[int] = {1,2}
mydict:dict[str,int] = {"12":12}

还有一种变量类型注解方式,利用注释来实现

a = 1 # type: int
b = [1,2] # type: list

函数的类型注解

类型注释都是提示型的,不是强制性的

形参的类型注解

def Funtion(var1: type, var2: type):
	pass

返回值的类型注解

def F() -> type: # 在括号后面加上 -> type,type为返回值的类型
	return 类型为type的变量

联合类型注解

Union

变量

当变量可能多种类型或包含多种类型时:

mylist=[1,2.0,False]
mydict={'name': 'Liu', 'age': 23}

需要使用Union类型来完成注解,Union[type1,type2]代表可能为里面类型的其中一个

from typing import Union
var: Union[int, float] = 1.0
mylist: list[Union[int, float, bool]]=[1,2.0,False]
mydict: dict[str, Union[str, int]]={'name': 'Liu', 'age': 23}

函数

形参与返回值都可以

def F(var: Union[int, float]) -> Union[int, str]:
	pass

使用 ‘|’

变量

当变量可能多种类型或包含多种类型时:

from typing import Union
var: int|float = 1.0
mylist: list[int|float|bool]=[1,2.0,False]
mydict: dict[str, str|int]={'name': 'Liu', 'age': 23}

函数

形参与返回值都可以

def F(var: int|float) -> int|str:
	pass