当前位置: 首页 > news >正文

Python类型注释

Python类型注释

1.理解为什么使用类型注解
2.掌握变量的类型注解语法

question:为什么需要类型注解
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
类型注解
python1在3.5版本的时候引入了类型注解,以方便静态类型检查工具,IDE等第三方工具
类型注解:在代码中涉及数据交互的地方,提供数据类型的注解(显示的说明)
主要功能:
帮助第三方IDE工具(如PyCharm)对代码进行类型推断,协助做代码提示
帮助开发者自身对变量进行类型注释

支持:
变量的类型注解;函数(方法)形参列表和返回值的类型注解

类型注解的语法
为变量设置类型注解:
基础语法:变量:类型

# 基础数据类型注解
var_1: int = 10
var_2: float = 3.1415926
var_3: bool = True
var_4: str = "itheima"# 类对象类型注解
class Studentpass
stu: Student = student()
# 基础容器类型注解
my_list : list = [1,2,4]
my_tuple : tuple = (1,32,4)
my_set : set = {1,2,3}
my_dict : dict = {"itheima":666}
my_str : str = "itheima"# 容器类型详细注解
my_list : list[int] = [1,2,4]
my_tuple[str,int,bool] = ("itheima",666,True)
my_set : set[int] = {1,2,3}
my_dict : dict[str,int] = {"itheima":666}注意:元组类型设置类型详细注解,需要将每一个元素都标记出来字典类型设置类型详细注解,需要2个类型,第一个是Key第二个是value
# 除了使用变量:类型,这种做法做注解外,也可以在注释中进行类型注解
# 语法:
#   type : 类型
# 在注释中进行类型注解
class Student:pass
var_1 = random.randint(1,10)	# type:int
var_2 = json.loads(data)	# type:dict[str,int]
var_3 = func()		# type:Student
# 为变量设置注解,显示的变量定义,一般无需注解
"""
var_1 : int = 10
var_2 : list = [1,2,3]
var_3 : dict = {"itheima":666}
var_4 : Student = Student()# 上述代码就算不写注解,也明确的知晓变量的类型"""
class Student:pass
var_1 : int =random.randint(1,10)
var_2 : dict = json.loads(data)
var_3 : Student = func()
## 一般,无法直接看出变量类型之时,会添加变量的类型注解
# 类型注解的限制
# 类型注解主要功能在于:# 帮助第三方IDE工具(eg:Pycharm)对代码进行类型推断,协助做代码提示# 帮助开发者自身对变量进行类型注释(备注)#并不会真正的对类型验证和判断
#也就是,类型注解仅仅是提示性的,不是决定性的
var_1 : int = "itheima"
var_2 : str = "123"# 如上代码是不会报错的
"""变量的类型注释代码实现
"""
# 基础数据类型注释
var_1: int = 10
var_2 : str = "itheima"
var_3 : bool = True
# 类对象类型注释
class Student:pass
stu : Student = Student()# 基础容器类型注释
my_list : list = [1,2,3]
my_tuple : tuple = (1,2,3)
my_dict : dict = {"itheima":666}
# 容器类型详细注释
my_list : list[int] = [1,2,3]
my_tuple : tuple[str,int,bool] = ("itheima",666,True)
my_dict : dict[str,int] = {"itheima":666}
# 在注释中进行类型注解
# 在pycharm中按"alt+/"会弹出提示信息,问你要导入哪个包
var_1 = random.randint(1,10)	# type:int
var_2 = json.loads("name":"zhangsan")	# type:dict[str,str]
def func():return 10
var_3 = func()		# type:Student# 类型注解的限制
var_1 : int = "itheima"
var_2 : str = "123"# 如上代码是不会报错的

总结
1.什么是类型注解,有什么作用?
在代码中设计数据交互之时,对数据类型进行显式的说明,可以帮助:
pycharm等开发工具对代码做类型推断协助做代码提示;开发者自身做类型的备注
2.类型注解支持:
变量的类型注解;函数(方法)的形参和返回值的类型注解
3.变量的类型注解语法
语法1:变量:类型
语法2:在注解中,#type:类型
4.注意事项
类型注解只是提示性的,并非决定性的。数据类型和注解类型无法对应也不会导致错误


文章转载自:

http://7gfU3YNv.xnhnL.cn
http://vbDtUA7u.xnhnL.cn
http://J1SBcnu1.xnhnL.cn
http://9BxZYKY7.xnhnL.cn
http://O2jDWziH.xnhnL.cn
http://QAFGIRC8.xnhnL.cn
http://niN3DgRK.xnhnL.cn
http://wgxuDgo7.xnhnL.cn
http://FeaGRFBt.xnhnL.cn
http://CZ4f4WeG.xnhnL.cn
http://jsHn4Lwr.xnhnL.cn
http://uc876kFs.xnhnL.cn
http://HC30sNN0.xnhnL.cn
http://1CseQ0o8.xnhnL.cn
http://RgAzRiRg.xnhnL.cn
http://FcK91SNR.xnhnL.cn
http://jGjzWYcS.xnhnL.cn
http://D8ehlpD8.xnhnL.cn
http://QdJdqgRr.xnhnL.cn
http://fyPlITP3.xnhnL.cn
http://Pm1Cw5sg.xnhnL.cn
http://6A0htUe7.xnhnL.cn
http://6caaMuok.xnhnL.cn
http://oPr5QYC5.xnhnL.cn
http://Cpx76eDM.xnhnL.cn
http://xwav5zmh.xnhnL.cn
http://N0SFserK.xnhnL.cn
http://qFtsLtIM.xnhnL.cn
http://K5wj0H9S.xnhnL.cn
http://9Sl0XXTe.xnhnL.cn
http://www.dtcms.com/a/365055.html

相关文章:

  • (二)文件管理-基础命令-ls命令的使用
  • 江协科技STM32学习笔记补充之004 基于XC6206P332MR(Torex)的5V到3.3V的电压转换电路分析
  • 手机MAC地址
  • 孩子玩手机都近视了,怎样限制小孩的手机使用时长?
  • 基于 HTML、CSS 和 JavaScript 的智能图像灰度直方图分析系统
  • 同城跑腿系统 跑腿小程序app java源码 跑腿软件项目运营
  • IotDB批量数据脱敏DEMO
  • RL 大模型逆袭!搞定真实软件工程任务,成功率从 20% 飙到 39%,无需教师模型蒸馏
  • 小说、漫剧小程序系统开发:独立部署,源码交付
  • 【大数据技术实战】Flink+DS+Dinky 自动化构建数仓平台
  • FFmpeg-Batch:GitHub开源视频批量处理工具,高效解决视频转格式与画质压缩需求
  • AI在金融、医疗、教育、制造业等领域的落地案例(含代码、流程图、Prompt示例与图表)
  • B样条曲线,已知曲线上的某个点到起点的距离,确定这个点的参数u的值的方法
  • 计算机视觉(七):膨胀操作
  • 键盘上面有F3,四,R,F,V,按下没有反应,维修记录
  • VS2015+QT编译protobuf库
  • Java--json与map,colloct与流
  • SpringMVC的请求接收与结果响应
  • Python爬取nc数据
  • 数据科学家如何更好地展示自己的能力
  • 理解sed命令
  • 干货知识:ERP、CRM、OA,小公司到底先上哪个?
  • 从 0 到 1 实现 PyTorch 食物图像分类:核心知识点与完整实
  • k8s知识点总结3
  • 基于 CC-Link IE FB 转 DeviceNet 技术的三菱 PLC 与发那科机器人在汽车涂装线的精准喷涂联动
  • Grafana Loki日志聚合系统深度解析:选型、竞品、成本与资源消耗
  • 安卓9.0系统修改定制化____如何修改安卓低版本固件 解决 API/SDK 版本过低的问题
  • 题解:UVA1589 象棋 Xiangqi
  • 根据fullcalendar实现企业微信的拖动式预约会议
  • 别错过!一杯奶茶钱开启企业微信 Power BI 之旅