【Python开发手册】深入剖析Google Python开发规范:规范Python注释写作

news2024/10/7 16:25:27
  • 💖 作者简介:大家好,我是Zeeland,全栈领域优质创作者。
  • 📝 CSDN主页:Zeeland🔥
  • 📣 我的博客:Zeeland
  • 📚 Github主页: Undertone0809 (Zeeland) (github.com)
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 📣 系列专栏:Python系列专栏 🍁
  • 💬介绍:The mixture of software dev+Iot+ml+anything🔥

本文节选自笔者博客: https://www.blog.zeeland.cn/archives/5h192hdzx

前言

在Python编程中,注释的作用不仅仅是解释函数或代码块的作用,还可以提高可读性、可维护性和表达代码意图的清晰性。正确书写Python注释,既是程序员的编程规范,更是提高代码质量的必要措施。因此,本文总结了Python注释的写法规范和注意事项,以及如何利用Pycharm代码模板快速生成规范注释的方法,帮助广大程序员提高代码质量和效率。

Python注释写作规范

  1. 用#开头,紧跟一个空格,然后是注释内容。
  2. 注释应该描述清楚代码的意图,避免出现无用的信息。
  3. 注释应该写在代码上方或右侧,避免在代码中间插入注释。
  4. 长注释应该使用多行注释,用三个双引号或单引号将注释括起来。
  5. 注释应该使用英文,并且遵循正确的语法和拼写规则。

Google Python开发规范注释示例

在Google Python Style Guide中,函数下面的注释,也称为docstring,应该遵循以下规范:

  1. 函数应该在其定义之前加上注释,用以描述函数的作用和功能。

  2. 函数注释应该包括以下内容:

    • 函数的输入参数和类型;
    • 函数的输出结果和类型;
    • 函数的作用和实现细节;
    • 函数的示例代码。
  3. 函数注释应该遵循Google自己定义的文档字符串格式,即以"""开头和结尾,第一行是概述函数作用的简短语句,接下来是更详细的描述性文本行。

  4. 对于函数参数和返回值的注释,应该使用类型提示来指定参数和返回值的类型,并在注释中提及。

docstring应该在函数定义的第一行后面紧随着出现,用三个引号围起来,格式如下:

def function_name(parameter1, parameter2):
    """
    This is a docstring. It should briefly describe the function and
    its parameters, and possibly give some examples of usage.

    Arguments:
    - parameter1: A description of the first parameter
    - parameter2: A description of the second parameter

    Returns:
    A description of the return value or None if the function doesn't return anything
    """
    # Function body here

docstring应该包括函数的描述、参数和返回值的描述:

  • 函数的描述应该简洁明了,阐述函数的作用、输入和输出。
  • 参数的描述应该使用文本和类型标注来标识各个参数的作用和类型。
  • 返回值的描述应该明确地描绘函数返回的值,包括类型和可能的值范围。

Pycharm代码模板使用方法

  1. 打开Pycharm,点击“File” -> “Settings”打开设置窗口。
  2. 在设置窗口中,展开“Editor” -> “Live Templates”菜单,点击“+”按钮添加一个新的代码模板。
  3. 在弹出的窗口中,选择“Python”作为模板的适用语言,并输入特定的模板代码。
  4. 依次设置代码模板中各个参数的值。
  5. 点击“Apply”和“OK”按钮,保存并退出设置窗口。
  6. 在编辑Python文件时,输入函数名称,然后按下Tab键即可生成规范的函数注释,根据实际需要填写各个参数的值即可。

遇到的问题和解决方案

在使用Pycharm代码模板时,有时会遇到代码模板无法自动替换参数值的情况。这时,需要检查代码模板中各个参数的名称和占位符是否正确,或者检查输入参数时是否有语法或拼写错误。另外,也可以在编辑器中手动输入注释,避免使用代码模板。

结论

Python注释的规范性和准确性对于程序员来说是非常重要的,它不仅提高了代码的可读性和可维护性,而且提高了开发效率和协作能力。在编写Python代码时,我们应该遵循规范的注释书写方法,并根据自己的需要来选择合适的工具,如Pycharm代码模板,来帮助我们更快地完成代码注释。

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

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

相关文章

高通开发系列 - linux kernel内核升级msm-4.9升级至msm-4.19(2)

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 MDSS PLL驱动问题msm-4.19内核适配nand flashMDSS PLL驱动问题 | /home/peeta/sc262R_private_rl/build-msm8909/tmp/work-shared/ms…

第01章_Java语言概述

第01章_Java语言概述 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. Java知识脉络图 1.1 Java基础全程脉络图 1.2 本章专题与脉络 2. 抽丝剥茧话Java 2.1 当前大学生就业形势 麦可思研究院…

C++之红黑树

文章目录前言一、概念二、性质三、结点的定义四、红黑树的结构五、插入操作1.插入代码2.左单旋3.右单旋4.插入新结点的情况分析与总结第一步、按照搜索二叉树的规则插入新结点第二步、分析插入结点后红黑树的性质是否被破坏动态演示:六、验证红黑树1.检测是否满足二…

口令暴力破解--Telnet协议暴力破解、数据库暴力破解与远程桌面暴力破解

Telnet协议暴力破解 Telnet Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。要开始一个telnet会话,必须输入用户名和密码来登录服务器。而一般服务器不会对用户名…

【数据结构】6.4 AVL树(C++)

【数据结构】——6.4 AVL树 没有学过二叉搜索树(也叫二叉排序树或二叉查找树)的小伙伴们建议先学习一下,这样阅读会更轻松哦 点我学习二叉搜索树 目录一、AVL树的概念1. 二叉搜索树的问题2. AVL树的性质二、AVL树实现平衡的方法1. 更新平衡因…

【音视频第11天】GCC论文阅读(2)

A Google Congestion Control Algorithm for Real-Time Communication draft-alvestrand-rmcat-congestion-03论文理解 看中文的GCC算法一脸懵。看一看英文版的,找一找感觉。 目录Abstract1. Introduction1.1 Mathematical notation conventions2. System model3.Fe…

Shader 海面/水面

首先用Terrain在场景中随便做个地形,当作海底 上面加个Plane作为海面 实现海水效果要考虑海水深度对颜色的影响,法线移动形成波浪,菲涅尔,高光等效果 深度 海水深的地方颜色深,浅的地方颜色浅,所以海边和…

fastDFS文件管理系统在linux下部署

1.概述 fastDFS分布式文件系统包括三个中要部分:追踪器、存储节点、客户端,可以使用文件存储,文件同步,文件访问等功能,用来存储大容量数据 存储节点集群: 横向扩容:增加存储容量 纵向扩容&…

liunx系统(VMware Workstation Pro)详细安装配置docker

​ 安装东西前要知道docker是什么,以及docker能都干什么,文章都是本人亲测然后写的过程. http://t.csdn.cn/iqbGg 博客文章链接详细介绍docker,以及部署MySQL,nginx等配置 一. liunx系统(VMware) 安装Docker 1. Docker中文网地址: Docker中文网 官网 (p2hp.com) 2. 打开VM…

50 Projects 50 Days - Progress Steps 学习记录

50 Projects 50 Days不使用任何前端框架,适合初学者练手,巩固前端基础,在这里记录一下学习过程,尤其是一些细节上的问题。 项目地址 Progress Steps 展示效果 Progress Steps 实现思路 进度条和结点分开处理: 1…

深入理解计算机系统第九章知识点总结

第九章 一些术语 PA(physical address):物理地址VA(virtual address):虚拟地址MMU(memory management unit):内存管理单元VP(virtual page):虚拟页PP(physical page):物理页/页帧SRAM:表示位于CPU和主存之…

详解Spring事务

目录 1.声明式事务 1.1.概述 1.2.使用 1.2.1.建表 1.2.2.maven依赖 1.2.3.配置 1.2.4.业务 1.2.5.测试 2.事务的传播行为 1.声明式事务 1.1.概述 spring中事务分为两种: 1.编程式事务,通过写代码来实现,每一步。 2.声明式事务&am…

华为手表开发:WATCH 3 Pro(15)传感器订阅加速度计

华为手表开发:WATCH 3 Pro(15)传感器订阅加速度计初环境与设备加速度传感器介绍与说明鸿蒙开发文件夹:文件重点新增展示的文本标记index.hmlindex.cssindex.js初 希望能写一些简单的教程和案例分享给需要的人 鸿蒙可穿戴开发 环…

Elasticsearch:索引状态是红色还是黄色?为什么?

在我之前文章 “Elasticsearch:如何调试集群状态 - 定位错误信息” 中,我有详细介绍如何调试集群状态。在今天的文章中,我将详细介绍如何故障排除和修复索引状态。 Elasticsearch 是一个伟大而强大的系统,特别是创建一个可扩展性极…

C++、STL标准模板库和泛型编程 ——关联式容器 (侯捷)

C、STL标准模板库和泛型编程——关联式容器 (侯捷)( 持续更新!!!) 关联式容器rb_tree 容器set、multiset 容器map、multimap容器C、STL标准模板库和泛型编程——序列式容器 (侯捷&am…

go+vue——go入门

govue技术选择入坑理由需要搭建前后端,Java 0 基础 ,环境容易出现问题;GO上手快,问题少推荐:【七米】代码博客搭建Go语言开发环境下载 并 安装检查是否安装好?GOPROXY 非常重要(帮你下载国外、G…

分布式锁Redision

目录 1.ab工具(压测工具)的安装 2.前置 3.优化 3.1synchronized修饰代码方法/代码块 3.2分布式锁事务的解决方案 3.3Redis实现锁问题 3.3.1 set ex方式 3.3.2 set ex方式设置过期时间 3.3.3单redis结点的解决UUID和LUA脚本 3.3.4redission解决分布式锁 4.Redission解…

数据结构:顺序表

朋友们、伙计们,我们又见面了,本期来给大家解读一下数据结构方面有关顺序表的相关知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! C语言专栏:C语言:从入门…

阿里的Leader为什么牛逼?秘密都在“三板斧”里...

许多人都觉得,啊里出来的Leader,做事情都很有方法、有套路、有结果,秘密究竟在哪里?其实一个人的牛逼,首先是方法论的牛逼。本文就来聊聊,阿里Leader们都要学习的管理方法论,俗称阿里“三板斧”…

《MySQL系列-InnoDB引擎37》索引与算法-全文检索

全文检索 1 概述 对于B树的特点,可以通过索引字段的前缀进行查找。例如如下的查询方式是支持B树索引的,只要name字段添加了B树索引,就可以利用索引快速查找以XXX开头的名称。 select * from table where name like XXX%; 而如下这种情况不适合私有B索…