首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第 10章 编写高效的函数
10.1 函数名
10.2 函数大小的权衡
10.3 函数的形参和实参
10.3.1 默认参数
10.3.2 使用*和**向函数传参
10.3.3 使用*创建可变参数函数
10.3.4 使用**创建可变参数函数
10.3.5 使用*和**创建包装函数
10.4 函数式编程
10.4.1 副作用
10.4.2 高阶函数
10.4.3 lambda 函数
10.4.4 在列表推导式中进行映射和过滤
10.5 返回值的数据类型应该不变
10.6 抛出异常和返回错误码
第 11章 注释、文档字符串和类型提示
11.1 注释
11.1.1 注释风格
11.1.2 内联注释
11.1.3 说明性的注释
11.1.4 总结性的注释
11.1.5 “经验之谈”的注释
11.1.6 法律注释
11.1.7 注释的专业性
11.1.8 代码标签和TODO 注释
11.1.9 神奇的注释和源文件编码
11.2 文档字符串
11.3 类型提示
11.3.1 使用静态分析器
11.3.2 为多种类型设置类型提示
11.3.3 为列表、字典等设置类型提示
11.3.4 通过注释向后移植类型提示
第 12章 通过Git管理项目
12.1 Git 提交和仓库
12.2 使用Cookiecutter新建Python项目
12.3 安装Git
12.3.1 配置Git 用户名和电子邮件
12.3.2 安装GUI Git 工具
12.4 Git 的工作流程
12.4.1 Git 是如何追踪文件状态的
12.4.2 为什么要暂存文件
12.5 在计算机上创建Git 仓库
12.5.1 添加供Git 追踪的文件
12.5.2 忽略仓库中的文件
12.5.3 提交修改
12.5.4 从仓库中删除文件
12.5.5 重命名和移动仓库中的文件
12.6 查看提交日志
12.7 恢复历史修改
12.7.1 撤销未提交的本地修改
12.7.2 取消暂存的文件
12.7.3 回滚近期的提交
12.7.4 回滚到单个文件的某次提交
12.7.5 重写提交历史
12.8 GitHub 和git推送命令
12.8.1 将一个已存在的仓库推送到GitHub
12.8.2 克隆已存在的GitHub仓库
当前位置:
首页>>
技术小册>>
Python编程轻松进阶(四)
小册名称:Python编程轻松进阶(四)
### 11.1.3 说明性的注释:提升代码可读性的艺术 在Python编程的进阶之路上,良好的代码习惯是不可或缺的基石。而在这其中,编写清晰、准确的注释(Comments)尤为关键。注释不仅是给机器看的,更是给未来的自己或团队成员看的。当代码库逐渐庞大,功能复杂多变时,一句恰当的注释往往能大大节省理解代码的时间,减少维护成本。本章将深入探讨“说明性的注释”,旨在帮助读者掌握如何通过高质量的注释来提升代码的可读性和可维护性。 #### 11.1.3.1 为何需要说明性的注释 在Python中,注释以井号(`#`)开始,随后是解释性文字,这些文字会被Python解释器忽略,不会执行任何操作。尽管如此,注释对于代码的理解、维护和团队协作具有不可替代的作用。具体来说,说明性的注释能够: - **提高代码可读性**:通过简短而准确的描述,帮助读者快速理解代码段的意图和逻辑。 - **促进团队协作**:当多人共同维护一个项目时,注释可以帮助新加入的成员快速上手。 - **辅助文档编写**:虽然注释不应替代文档字符串(Docstrings)或外部文档,但它们可以作为文档编写的重要参考。 - **保留历史信息**:在修改或优化代码时,注释可以记录更改的原因、时间以及可能的影响,便于追踪和回溯。 #### 11.1.3.2 编写说明性注释的原则 1. **必要性原则**:不是所有的代码都需要注释。对于自描述性强的代码(如变量名、函数名已经清晰地表达了意图),添加额外的注释可能是多余的。注释应针对那些复杂逻辑、特殊实现或容易出错的地方。 2. **准确性原则**:注释必须准确反映代码的实际功能和行为。错误的注释比没有注释更糟糕,因为它会误导读者。 3. **简洁性原则**:注释应简短明了,避免冗长和啰嗦。好的注释应该是一句话或几句话就能说清楚的。 4. **一致性原则**:在整个项目中保持注释风格的一致性,包括注释的位置(行首、行尾或单独的行)、格式(缩进、空格使用)以及语言风格。 5. **更新性原则**:当代码被修改时,相关的注释也应该及时更新,以保持与代码同步。 #### 11.1.3.3 注释的类型与示例 ##### 1. 解释性注释 解释性注释用于说明代码段的功能、目的或算法原理。这类注释通常出现在复杂逻辑或算法实现之前,帮助读者理解代码的上下文和整体思路。 ```python # 使用二分查找算法在有序列表中查找特定元素 def binary_search(arr, target): left, right = 0, len(arr) - 1 while left <= right: mid = (left + right) // 2 if arr[mid] == target: return mid elif arr[mid] < target: left = mid + 1 else: right = mid - 1 return -1 # 未找到目标元素 ``` ##### 2. 警告性注释 警告性注释用于指出代码中的潜在问题、限制条件或需要注意的事项,以避免潜在的错误或性能问题。 ```python # 注意:以下函数在大数据集上可能运行缓慢,因为它使用了嵌套循环 def nested_loop_function(data): # ...(函数实现) pass ``` ##### 3. TODO注释 TODO注释用于标记未来需要完成或优化的代码部分,是项目管理中常用的一个技巧。 ```python # TODO: 优化此算法,减少时间复杂度 def inefficient_algorithm(input_list): # ...(算法实现) pass ``` ##### 4. 复杂逻辑注释 对于复杂的逻辑判断或计算过程,适当添加注释可以帮助读者理解每一步的意图。 ```python # 计算个人所得税,根据年收入和税率表 def calculate_tax(annual_income): if annual_income <= 36000: tax_rate = 0.03 quick_deduction = 0 elif 36000 < annual_income <= 144000: tax_rate = 0.1 quick_deduction = 2520 # ...(更多税率区间判断) taxable_income = annual_income - (annual_income_thresholds[index] - quick_deduction) tax = taxable_income * tax_rate return tax ``` #### 11.1.3.4 注释的最佳实践 - **使用英文编写注释**:尽管Python支持多种编程语言,但使用英文编写注释已成为业界的广泛共识,因为它能确保最大的可读性和兼容性。 - **避免在注释中重复代码**:注释应该解释代码做了什么,而不是简单地复述代码。如果注释和代码完全一致,那么可能是代码本身需要改进。 - **利用代码结构减少注释需求**:良好的代码结构和命名规范可以显著减少注释的需求。在可能的情况下,通过重构代码来提高其自描述性。 - **使用文档字符串**:对于函数、类和模块,应优先考虑使用文档字符串(Docstrings)来提供详细的说明,而不是在函数体内部添加大量注释。 总之,说明性的注释是提升Python代码可读性和可维护性的重要手段。通过遵循上述原则和实践,你可以编写出既清晰又高效的代码,为未来的自己和团队成员留下宝贵的财富。
上一篇:
11.1.2 内联注释
下一篇:
11.1.4 总结性的注释
该分类下的相关小册推荐:
Python3网络爬虫开发实战(下)
Python编程轻松进阶(一)
Python与办公-玩转PPT
实战Python网络爬虫
Python编程轻松进阶(二)
Python合辑1-Python语言基础
Python神经网络入门与实践
Python甚础Django与爬虫
Python爬虫入门与实战开发(上)
Python合辑4-130个字符串操作示例
Python机器学习实战
Python合辑12-面向对象