Python语言学习笔记之五(Python代码注解)

本课程对于有其它语言基础的开发人员可以参考和学习,同时也是记录下来,为个人学习使用,文档中有此不当之处,请谅解。

注解与注释是不一样的,注解有更广泛的应用;

通过注解与注释都能提高代码的可读性和规范性;注释是针对代码进行说明;

1、什么Python的注解

 注解就是在Python中是一利元数据机制用于在代码中添加额外的信息,这些注解可以用于类型检查、函数参数、返回值等注解,在Python中通常与类型提示一起使用,以提供关于变量、参数和返回值的预期类型信息。

Python的元数据机制是指用于组织、管理和存储元数据的模型。在Pvthon中,元数据通常指的是描述数据的信息。这包括数据的类型、值的范围、来源以及其他属性的描述,通过使用注解,可以增加代码的可谈性,可维护性和可靠性,虽然注解不会直接影响函数的运行、但在代码文档化和类型检查方面发挥着重要的作用。

2、如何使用注解

在Python中,注解通常使用冒号(:)来分隔表达式和类型,例如,在类方法定义中,可以使用注解来指定参数的类型和返回值的类型,如下所示:

参数类型注解:

定义了一个名为Greeter的类,其中包含一个名为greet的方法,该方法接受一个字符串类型的参数name,并返回一个字符串类型的值。我们使用注解来指定参数和返回值的类型。这个注解告诉Python解释器,name参数应该是一个字符串类型,返回值也是个字符串类型。

变量类型的注解案例:

我们定义了一个名为Person的类,该类包含两个属性: name、age。我们使用注解来指定属性的类型,分别是字符串类型和整数类型。在类定义下方,我们创建了一个Person类的实例,并分别给name和age属性赋值,最后,我们分别打印出这两个属性的值。

函数返回值类型注解:

定义了一个名为get users的函数,该函数不接受任何参数,但是需要使用注解来指定返回值的类型,我们导人了typing模块中的List类型,并将返回值指定为字符串类型的列表,函数内部定义了一个字符串类型的列表users,然后将其作为返回值返回,在函数定义下方,我们调用了该函数,并将返回值打印出来。

​​​​​​​3、Python注解注意事项

       在Python中类型注解只是一种提示,并不会在运行时强制执行类型检查,类型注解主要用于静态类型检查和代码可读性。需要注意的是:Python 的注解并不在运行时强制执行类型检查,因此,上述错误并不会导致程序崩溃或无法运行。然而,在静态类型检查中,这样的错误会被检测出来并引发警告或错误。

​​​​​​​4、代码注解的优势

Python 是一种动态类型语言,它允许在运行时改变变量的类型,尽管在运行时没有强制类型检查,但使用类型注解还有其他一些好处:

优势一:通过在代码中明确指定变量的类型和函数的参数类型和返回类型,可以使代码更具可读性。这对于其他开发人员以及个人将来回顾代码时都很有帮助

优势二:如果使用静态类型检查工具(如 mypy),它们会在编译时执行类型检查,并提示潜在的类型错误,这样就可以在开发阶段发现潜在的问题,而无需等到运行时。

优势三:某些工具和库可能要求或支持类型注解。如果在代码中使用注解,可以与这些工具和库更好地兼容

Python注解虽然不是强制性的,但是可以带来很多好处,特别是在大型的软件开发项目中,能够提高代码的可读性和可维护性的错误和缺陷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/182556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

带大家做一个,易上手的家常蒜薹炒瘦肉

首先 从冰箱那一块瘦肉 用水化一下冰 然后 那一把蒜薹 将所有蒜薹头和尾部去掉一小节 这个地方是不能吃的 然后 剩下的部分 切成如下图这样 一小条一小条的样子 然后 将蒜薹倒入盆中清水洗一下 瘦肉清洗一下 然后切片 然后 直接起锅烧油 油烧热后马上下肉翻炒 一定要大点翻…

kafka C++实现生产者

文章目录 1 Kafka 生产者的逻辑2 Kafka 的C API2.1 RdKafka::Conf2.2 RdKafka::Message2.3 RdKafka::DeliveryReportCb2.4 RdKafka::Event2.5 RdKafka::EventCb2.6 RdKafka::PartitionerCb2.7 RdKafka::Topic2.8 RdKafka::Producer(核心) 3 Kafka 生产者…

【代码】考虑灵活性供需平衡的电力系统优化调度模型

程序名称:考虑灵活性供需平衡的电力系统优化调度模型 实现平台:matlab-yalmip-cplex/gurobi 代码简介:最可再生能源发电设备和并网技术快速发展,以新能源为主导的新型电力系统逐步形成。高比例新能源的随机波动性导致电力系统的…

redis的数据类型的操作增删改查

redis的数据类型的操作增删改查 redis的高可用: 在集群当中有一个非常重要的指标,提供正常服务的时间的百分比(365天)99.9% redis的高可用的含义要更加宽泛,正常服务是指标之一数据容量扩展,数据的安全性…

Oracle 11g安装过程

文章目录 前言1.下载安装包2.安装2.1本地安装文件2.2 安装过程 3.查看是否安装成功3.1 查看oracle是否安装成功3.2 查看oracle服务 前言 本文仅用于记录亲自安装oracle的过程 1.下载安装包 官网地址: Oracle Database 11g Release 2 (11.2.0.1.0) 注意&#xff…

数据治理框架和成熟度模型

数据治理成熟度模型 一个企业的数据治理能力越高,所享受到数据治理带来的价值也会越多,如增加收入、减少成本、降低风险等。于是,很多企业想要准确地评估本公司的数据治理能力,可以利用数据治理成熟度模型方法,包括 D…

Javaweb之Vue组件库Element案例的详细解析

4.4 案例 4.4.1 案例需求 参考 资料/页面原型/tlias智能学习辅助系统/首页.html 文件,浏览器打开,点击页面中的左侧栏的员工管理,如下所示: 需求说明: 制作类似格式的页面 即上面是标题,左侧栏是导航&…

泛微OA对接金蝶云星空方案分享(对接场景解析)

分享金蝶云星空跟泛微OA系统集成对接的方案分享,主讲审批流程对接,表单对接的两类场景。分别是金蝶云星空发起申请和泛微发起流程审批,最终实现统一管理。 数据集成主要有以下好处: (1)数据一致性&#xf…

吉利展厅 | 透明OLED拼接2x2:科技与艺术的完美融合

产品:4块55寸OLED透明拼接屏 项目地点:南宁 项目时间:2023年11月 应用场景:吉利展厅 在2023年11月的南宁,吉利展厅以其独特的展示设计吸引了众多参观者的目光。其中最引人注目的亮点是展厅中央一个由四块55寸OLED透…

函数的极值与最值

函数的最值 1.闭区间上连续函数的最值 1.求驻点或不可导点(可能的极值点) 2.求函数在驻点,不可导点,端点的函数值 3.比较大小 例题: 例题思想:分段函数分段点必须验证导数的存在性 几种常见的最值类型 1.…

WordPress自动采集伪原创发布工具

在当今数字化时代,随着信息爆炸式增长,网站内容的更新速度飞快。对于拥有WordPress网站的用户而言,如何轻松而又快速地批量采集伪原创内容成为一项具有挑战性的任务。本文将专心分享一些方法和技巧,帮助WordPress用户实现批量采集…

软件设计模式原则(三)单一职责原则

单一职责原则(SRP)又称单一功能原则。它规定一个类应该只有一个发生变化的原因。所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原…

王道p150 14.假设二叉树采用二叉链表存储结构,设计一个算法,求非空二叉树 b的宽度(即具有结点数最多的那一层的结点个数) (c语言代码实现)

采用层次遍历的方法求出所有结点的层次,并将所有结点和对应的层次放在一个队列中。然后通过扫描队列求出各层的结点总数,最大的层结点总数即为二叉树的宽度。 /* A B C D E F …

生成式AI与预测式AI的主要区别与实际应用

近年来,预测式人工智能(Predictive AI)通过先进的推荐算法、风险评估模型、以及欺诈检测工具,一直在推高着该领域公司的投资回报率。然而,今年初突然杀出的生成式人工智能(Generative AI)突然成…

VMware如何导出和导入镜像OVF虚拟机(以unbuntu为例)

前言:我下载了一个unbuntu的系统镜像,基于这个镜像创建了一个unbuntu的虚拟机,辛辛苦苦配置需要的开发环境,如:安装了mysql,安装了jdk等,此时,我的同事可能需要也是同一套类似环境&a…

MySQL 中的锁(二)

8.4. 意向锁 但是在上面的例子这里头有两个问题: 如果我们想对大楼整体上 S 锁,首先需要确保大楼中的没有正在维修的楼层,如果有正在维修的楼层,需要等到维修结束才可以对大楼整体上 S 锁。 如果我们想对大楼整体上 X 锁&#xf…

现代C++之万能引用、完美转发、引用折叠

现代C之万能引用、完美转发、引用折叠 0.导语1.问题引入2.引入万能引用3.万能引用出现场合4.理解左值与右值4.1 精简版4.2 完整版4.3 生命周期延长4.4 生命周期延长应用5.区分万能引用6.表达式的左右值性与类型无关7.引用折叠和完美转发7.1 引用折叠之本质细节7.2 示例与使用7.…

linux 讨论题合集(个人复习)

常规文件的权限是什么?如何分配或修改这些权限?文件夹(目录)的权限是什么?显示常规文件和文件夹的区别 讨论:①常规的文件权限有四种,r可读、w可写、x可执行、-没有权限;②可以使用c…

鸿蒙4.0开发笔记之ArkTS装饰器语法基础@Extend扩展组件样式与stateStyles多态样式(十一)

一、Extend扩展组件样式 1、作用 前文提到可以使用Styles用于样式的扩展,在Styles的基础上,ArkTS语法还提供了Extend,⽤于扩展原生组件样式,包括Text、Button等等。 2、定义语法 Extend(UIComponentName) function functionNam…