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.hqwc.cn/news/225924.html

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

相关文章

python学习过程中一些问题记录总结

工作机器上安装了 两个环境 使用anaconda3 时配置仓库地址不能 拉取到 cv2 DBUtils 使用python2 时 版本低,拉取不到 解决办法,python2不支持下载最新版本的,需要指定下载一个老的版本即可,下个1.3的就OK了 pip install DBU…

华为电视盒子 EC6108V9C 刷机成linux系统

场景: 提示:这里简述项目相关背景: 家里装宽带的时候会自带电视盒子,但是由于某些原因电视盒子没有用,于是就只能摆在那里吃土,闲来无事,搞一下 问题描述 提示:这里描述项目中遇到…

【嵌入式】开源shell命令行的移植和使用(2)——letter-shell

目录 一 背景说明 二 移植准备 三 移植过程 四 自定义命令 五 实际使用 一 背景说明 之前使用过一款开源shell工具 nr_micro_shell (【嵌入式】开源shell命令行的移植和使用(1)——nr_micro_shell-CSDN博客),感觉…

Linux fork笔试练习题

1.打印结果&#xff1f; #include <stdio.h> #include <unistd.h> #include <stdlib.h>int main() {int i0;for(;i<2;i){fork();printf("A\n");}exit(0); } 结果打印 A A A A A A 2.将上面的打印的\n去掉,结果如何? printf("…

统计学中两组数据如何进行差异性(相关性)分析?

变量说明&#xff1a; 在确定分析方法前&#xff0c;我们需要了解手中的数据类型&#xff0c;这是最基础也是有必要的&#xff0c;在所有的数据类型中&#xff0c;我们将数据类型分为分类变量也为定类变量和连续变量也称为定量变量&#xff0c;那么什么是定类变量&#xff1f;…

文章解读与仿真程序复现思路——电力系统保护与控制EI\CSCD\北大核心《基于深度强化学习的城市配电网多级动态重构优化运行方法》

这个标题涉及到城市配电网&#xff08;Urban Power Distribution Network&#xff09;的优化运行方法&#xff0c;其中使用了深度强化学习&#xff08;Deep Reinforcement Learning&#xff09;技术&#xff0c;并且特别强调了多级动态重构。 解读每个关键部分&#xff1a; 基…

Selenium 学习(0.14)——软件测试之测试用例设计方法——因果图法2【基本步骤及案例】

1、因果图法的基本步骤 2、案例分析 1&#xff09;分析原因和结果 2&#xff09;关联原因和结果 投入1元5角或2元&#xff0c;按下“可乐”&#xff0c;送出“可乐”【暂时忽略找零】 投入2元&#xff0c;按下“可乐”或“雪碧”。找零5角&#xff0c;送出“可乐”或“雪…

人工智能_AI服务器安装清华开源_CHATGLM大语言模型_GLM-6B安装部署_人工智能工作笔记0092

看到的这个开源的大模型,很牛,~关键让我们自己也可以部署体验一把了,虽然不知道具体内部怎么构造的但是,也可以自己使用也挺好. 可以部署在自己的机器上也可以部署在云服务器上. 安装以后,是可以使用python代码进行提问,然后返回结果的,这样就可以实现我们自己的chat应用了, …

【多线程】-- 05 Lambda表达式

多线程 4 Lambda表达式 λ是希腊字母表中排序第十一位的字母&#xff0c;英语名称为Lambda是为了避免匿名内部类定义过多实质属于函数式编程的概念 为什么要使用Lambda表达式&#xff1f; 避免匿名内部类定义过多可以让代码看起来很简洁去掉了一堆没有意义的代码&#xff0…

GOAT:多模态、终身学习、平台无关的机器人通用导航系统

机器人应用中涉及到的核心技术包括&#xff1a;环境感知与理解、实时定位与建图、路径规划、行为控制等。GOAT通过多模态结合终生学习的方式让你的机器人可以在未知环境中搜索和导航到任何物体。小白也可以零门槛上手。 项目地址&#xff1a;https://theophilegervet.github.i…

centos服务器扩容

centos服务器扩容 我的情况是&#xff0c;原服务器是一个80g磁盘&#xff0c;管理员又追加了120G到这块磁盘上&#xff0c;需要把这120G重新追加使用。 请确认你遇到的情况是否和我初始截图一致&#xff0c;再往下看&#xff0c;免得浪费时间与精力 服务器中有120G尚未使用&…

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

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