目录
一.类型注解
变量的类型注解
类型注解的语法
类型注解主要功能在于:
函数方法的类型注解
函数(方法)形参进行类型注解
函数(方法)返回值进行类型注解
小结
Union类型
小结
一.类型注解
变量的类型注解
思考
为什么PyCharm工具能够做到这一点?它是如何知道这个对象有append方法?
Python在3.5版本的时候引入了类型注解,以方便静态类型检查工具,IDE等第三方工具类型注解:在代码中涉及数据交互的地方,提供数据类型的注解(显式的说明)。主要功能:
- 帮助第三方IDE工具(如PyCharm)对代码进行类型推断,协助做代码提示
- 帮助开发者自身对变量进行类型注释
支持
- 变量的类型注解
- 函数(方法)形参列表和返回值的类型注解
类型注解的语法
为变量设置类型注解基础语法:变量:类型
演示
#基础数据类型注解
var_1:int =10
var_2:float=1.2341
var_3:bool=True
var_4:str="sdgwar"
#类对象类型注解
class student:
pass
stu:student=student()
#基础容器类型注解
my_list:list=[1,2,3,4]
my_tuple:tuple=(1,2,3)
my_set:set={1,2,3}
my_dict:dict={"asdg":123}
my_str:str="qweta"
#容器类型详细注解
my_list1:list[int]=[1,2,3,4]
my_tuple1:tuple[int,str,bool]=(1,"sdf",True)
my_set1:set[int]={1,2,3}
my_dict1:dict[str,int]={"asdg":123}
除了使用变量:类型,这种语法做注解外,也可以在注释中进行类型注解。语法:
# type:类型
演示
#基础数据类型注解
var_1=12#type:int
var_2=2.234#type:float
class student:
pass
stu=student()#type:student
为变量设置注解,显示的变量定义,一般无需注解:
如图,就算不写注解,也明确的知晓变量的类型,一般,无法直接看出变量类型之时会添加变量的类型注解
类型注解主要功能在于:
- 帮助第三方IDE工具(如PyCharm)对代码进行类型推断,协助做代码提示
- 帮助开发者自身对变量进行类型注释(备注)
并不会真正的对类型做验证和判断。
也就是,类型注解仅仅是提示性的,不是决定性的
小结
1.什么是类型注解,有什么作用?
在代码中涉及数据交互之时,对数据类型进行显式的说明,可以帮助:
- PyCharm等开发工具对代码做类型推断协助做代码提示
- 开发者自身做类型的备注
2.类型注解支持:
- 变量的类型注解
- 函数(方法)的形参和返回值的类型注解
3.变量的类型注解语法
- 语法1:变量:类型
- 语法2:在注释中,# type:类型4.注意事项
4.注意事项
·类型注解只是提示性的,并非决定性的。数据类型和注解类型无法对应也不会
导致错误
函数方法的类型注解
函数(方法)形参进行类型注解
如图所示:
·在编写函数((方法),使用形参data的时候,工具没有任何提示·在调用函数(方法),传入参数的时候,工具无法提示参数类型这些都是因为,我们在定义函数(方法)的时候,没有给形参进行注解
函数和方法的形参类型注解语法:
函数(方法)返回值进行类型注解
同时,函数(方法)的返回值也是可以添加类型注解的。语法如下:
小结
1.函数(方法)可以为哪里添加注解?
形参的类型注解
返回值的类型注解
2.函数(方法)的类型注解语法?
注意,返回值类型注解的符号使用:->
Union类型
思考
遇到这种混合的类型该怎么办呢?
使用Union[类型,......,类型]可以定义联合类型注解
小结
1.什么是Union类型?
使用Union可以定义联合类型注解
2.Union的使用方式
·导包: from typing import Union
·使用: Union[类型,......类型]