[Python学习日记-5] Python中的注释

[Python学习日记-5] Python中的注释

简介

注释的示例和使用说明

代码注释原则

简介

        随着学习的深入。用不了多久,你就可以写上千甚至上万行的复杂代码啦,有些代码你花了很久写出来,但过了些天再回去看,发现竟然看不懂了,这是个再正常不过的了。另外,你以后在工作中合发现,一个项目多是由几个甚至几十个开发人员一起做,你要调用别人写的代码,别人也要用你的,如果代码不加注释,你自己都看不懂,更别说别人了,这样写会挨打的。所以为了避免这种尴尬的事情发生,一定要增加你代码的可读性。
        代码注释分单行和多行注释,单行注释用 #,多行注释可以用三对双引号 """ """

注释的示例和使用说明

一、示例

        首先要说明的一点是,注释在代码当中是不执行的,只是作为解释放在代码中,解释器看到注释符号后会直接跳过,所以说千万不要把有用的代码放到里面去,如果放到里面去解释器是会直接跳过的。下面看一段标准代码的注释,这是一段 print() 方法的源代码,请忽略代码的意思,本篇只讲述 Python 中注释的用法

def __import__(A_B, *more): # real signature unknown; restored from __doc__"""Import a module.Because this function is meant for use by the Pythoninterpreter and not for general use, it is better to useimportlib.import_module() to programmatically import a module.The globals argument is only used to determine the context;they are not modified.  The locals argument is unused.  The fromlistshould be a list of names to emulate ``from name import ...``, or anempty list to emulate ``import name``.When importing a module from a package, note that __import__('A.B', ...)returns package A when fromlist is empty, but its submodule B whenfromlist is not empty.  The level argument is used to determine whether toperform absolute or relative imports: 0 is absolute, while a positive numberis the number of parent directories to search relative to the current module."""pass# classesclass __generator(object):'''A mock class representing the generator function type.'''def __init__(self):self.gi_code = Noneself.gi_frame = Noneself.gi_running = 0def __iter__(self):'''Defined to support iteration over container.'''passdef __next__(self):'''Return the next item from the container.'''passdef close(self):'''Raises new GeneratorExit exception inside the generator to terminate the iteration.'''passdef send(self, value):'''Resumes the generator and "sends" a value that becomes the result of the current yield-expression.'''passdef throw(self, type, value=None, traceback=None):'''Used to raise an exception inside the generator.'''pass

        这一段代码是由编程大佬写的,其中包含了很多其他方法的调用和本方法的接口,而这些调用和接口都有明确的注释,其中包含了单行注释(#)和多行注释(""" """),在编写一个方法前最好的习惯是先写清楚接下来这段代码是干什么用的,也可以把你的思路写在上面,方便你再次需要修改时或者接手你代码的人理解,我们学习编程一定要学习标准化规范化的编程方法,不能只想着能用就行,这样下去只会成为一个业余程序员,并不会成为编程大佬。所以说连编程大佬都要认认真真的做注释,作为一个刚入门的小白有什么理由不乖乖做注释呢?

二、使用说明

        下面来说说单行注释和多行注释的具体用法

        单行注释(#):

# 单行注释比较适合标记一些比较简单的描述,如下所示
a = 22  # a 是jove的年龄
b = 13  # b 是工作时常
if a > 0 & a <= 10:print(a)
else:print(b)

        多行注释(""" """):

# 单行注释比较适合标记一些比较简单的描述,如下所示
a = 22  # a 是jove的年龄
b = 13  # b 是工作时常
if a > 0 & a <= 10:print(a)
else:print(b)"""
这个时候如果需要描述的内容有点多,一行装不下,
或者是一行会超出屏幕很多,
那么我们就会使用多行注释。
这样读代码的人的可读性也会高很多,
当然如果你和你的老板不和,而你又即将离职,可以把你的不满藏在代码里
"""

注:

        1、三个单引号(''' ''')也可以作为注释,但是这并不是官方推荐,所以这里不多做介绍

        2、无论是单行注释,还是多行注释,一定需要使用英文的输入法,中文输入在计算机看来并不是单纯的一个符号

三、注释的官方写法

1、当你要输入单行注释(#)前有代码需要使用 Tab 键或输入4个空格来隔开

        只隔开了1个空格的情况,会有黄色波浪线,这是提示

e101b24646654913ae836733e9de1c32.png

        使用4个空格来隔开的情况

e5de81fc895f486eadd95ba1d6651444.png

        使用 Tab 键隔开的情况

5bff3da10487456c8c5f4cb08df97ce3.png

2、单行注释(#)符号需要与注释内容隔开1个空格

        没有与注释内容隔开1个空格

dda07e7c9d5b4c4e9212e8f30788fa90.png

        隔开超过1个空格也是不符合官方标准的

e3da5b048c5c4ac2bf7229d6f3971579.png

        只隔开1个空格

c40ae735c3174624aa1c483f45c02f35.png

3、多行注释(""" """)自由度相对高一点,推荐的用法是前面的三个双引号和后面的三个双引号单独占一行,这样一看就可以看出是多行的注释,以后加注释也会相当方便

bd2065e69cfa4683a144b331160a3f80.png

        不过千万不能让多行注释跟在代码后面,这样会报错。

6937521d61764b4ba014638067c6919b.png
四、注释快捷键

        如果觉得逐行逐行的加 # 号太麻烦的话可以使用 Ctrl+? 来快速把选中行进行注释,如果想要取消这些注释只需要重新选中需要取消注释的行然后再使用一次 Ctrl+? 即可,Ctrl+? 使用的是单行注释,如果想要使用多行注释的话只需要在前后各加上三个双引号即可

代码注释原则

  1. 不用给全部代码加注释,只需要在自己觉得重要或不好理解的部分加注释即可
  2. 注释可以用中文或英文,但绝对不要用拼音,读的人会想死的
  3. 注释不光要给自己看,还要给别人看,所以请认真写

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

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

相关文章

【wsl】wsl + vscode 中使用 typora 打开 markdown 文件

vscode 连接好wsl 使用Open in External App 一个五星好评的插件Open in External App则可以在vscode中用typora打开md文件&#xff0c;不仅如此&#xff0c;还有设定其他应用打开相应的文件&#xff0c;比如chrome打开html。插件食用方法也比较简单&#xff0c;安装后&#…

Linux 软件编程学习第十一天

1.管道&#xff1a; 进程间通信最简单的形式 2.信号&#xff1a; 内核层和用户层通信的一种方式 1.信号类型&#xff1a; 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 1…

gitea docker 快捷安装部署

前言 在前一篇博文&#xff08;什么是 Gitea&#xff1f;&#xff09;中&#xff0c;我们详细介绍了gitea的功能特性&#xff0c;以及其与其它git服务器之间的特性多维度对比。 在本文中&#xff0c;我们将详细介绍gitea的快捷安装部署&#xff0c;docker方式&#xff01; 1…

Linux磁盘管理与文件系统(二):实用工具和命令、fdisk分区示例

文章目录 4、查看或管理磁盘分区-fdisk格式选项示例 4、示例&#xff1a;使用 fdisk 命令创建分区需求操作步骤 5、创建文件系统-mkfs格式常用选项示例创建其他类型的文件系统 6、创建文件系统-mkswap格式常用选项示例拓展&#xff1a;关闭和启用交换分区拓展&#xff1a;swap分…

Visual Studio Code搭建VUE开发环境

Vue.js 是一款易学易用&#xff0c;性能出色&#xff0c;适用场景丰富的 Web 前端框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;提供容易上手的 API 和一流的文档。可以用来开启PC网页、移动端网页页面、小程序等等 实验环境 VS Code 1.88.1Node 20.16.0Vue3.2…

趋动科技联合超聚变,让超融合彻底释放算力潜能

近日&#xff0c;趋动科技联合超聚变推出基于FusionOne HCI超融合的AI算力资源池化解决方案。该方案基于业内领先的AI算力资源池化技术&#xff0c;实现智能调度、异构算力融合管理等功能&#xff0c;让客户能够低成本获取AI算力&#xff0c;便捷使用AI算力&#xff0c;加速AI业…

AI学习记录 - transformer的Embedding层

创作不易&#xff0c;免费的赞 前面有介绍了GPT2如何进行token化的过程&#xff0c;现在讲下transformer的Embedding层 Embedding层就是一个巨大的矩阵&#xff0c;边长分别是词汇表长度和词向量维度&#xff0c;矩阵里面的每一个数字都是一个随机初始化的&#xff0c;或者是…

TinyWebserver的复现与改进(1):服务器环境的搭建与测试

计划开一个新坑, 主要是复现qinguoyi/TinyWebServer项目&#xff0c;并且使用其它模块提升性能。 本文开发服务器配置&#xff1a;腾讯云轻量级服务器&#xff0c;CPU - 2核 内存 - 2GB&#xff0c;操作系统 Ubuntu Server 18.04.1 LTS 64bit 打开端口 需要打开服务器3306、80…

常见硬件工程师面试题(四)

大家好&#xff0c;我是山羊君Goat。 对于硬件工程师&#xff0c;学习的东西主要和电路硬件相关&#xff0c;所以在硬件工程师的面试中&#xff0c;对于经验是十分看重的&#xff0c;像PCB设计&#xff0c;电路设计原理&#xff0c;模拟电路&#xff0c;数字电路等等相关的知识…

DriftingBlues2靶机渗透测试

DriftingBlues2靶机 文章目录 DriftingBlues2靶机信息收集FTP渗透web渗透权限提升靶机总结 信息收集 nmap扫描得到21,22和80端口&#xff0c;其中21ftp协议可以使用匿名用户登录 使用目录扫描一下网站&#xff0c;得到了blog目录 FTP渗透 匿名用户登录进去&#xff0c;发现…

WPF篇(8)- Button按钮

1. 用法解析 Button因为继承了ButtonBase&#xff0c;而ButtonBase又继承了ContentControl&#xff0c;所以&#xff0c;Button可以通过设置Content属性来设置要显示的内容。例如 <Button Content"确定"/>我们使用Button的时机&#xff0c;通常是鼠标点击事件…

补录:day023-回溯法

40.组合II 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 思路:组合题目二&#xff0c;这个题…

2024世界机器人大会将于8月21日至25日在京举行

2024年的世界机器人大会预定于8月21日至25日&#xff0c;在北京经济技术开发区的北人亦创国际会展中心隆重举办。 本届大会以“共育新质生产力 共享智能新未来”为核心主题&#xff0c;将汇聚来自全球超过300位的机器人行业专家、国际组织代表、杰出科学家以及企业家&#xff0…

【云原生】Prometheus Pushgateway使用详解

目录 一、前言 二、Pushgateway概述 2.1 什么是Pushgateway 2.1.1 Pushgateway在Prometheus中的位置 2.2 为什么需要Pushgateway 2.3 Pushgateway作用 2.4 Pushgateway 工作原理 2.5 Pushgateway 使用场景 2.6 Pushgateway 优缺点 三、Pushgateway 部署 3.1 二进制安…

ip透传及实例

IP 透传介绍 “IP 透传”&#xff08;IP Passthrough&#xff09;是一种网络配置方式&#xff0c;指的是将网络服务提供商分配给用户的公网 IP 地址直接传递或分配给用户设备&#xff0c;而不是经过网络地址转换&#xff08;NAT&#xff09;处理。 在传统的网络环境中&#xf…

HTML5+JavaScript绘制彩虹和云朵

HTML5JavaScript绘制彩虹和云朵 彩虹&#xff0c;简称虹&#xff0c;是气象中的一种光学现象&#xff0c;当太阳光照射到半空中的水滴&#xff0c;光线被折射及反射&#xff0c;在天空上形成拱形的七彩光谱&#xff0c;由外圈至内圈呈红、橙、黄、绿、蓝、靛、紫七种颜色。事实…

Qt WebEngine基于WebEngineScript注入js脚本

在之前的文章中&#xff0c;我们介绍了Qt WebEngine注入js的用法&#xff0c;及runJavaScript()的用法&#xff0c;该方法主要是用在页面加载完成后&#xff0c;为了和网页做一些交互时使用。有时候需要监听网页加载完成的一些状态或信息&#xff0c;则需要网页加载前注入js来实…

VSCODE platformio ESP32-S3 内置 JTAG 接口断点单步调试笔记

ESP32 S3的两种JTAG调试方法 ESP32 S3的有两种JTAG调试方法&#xff0c;直接连接板子上的JTAG引脚进行调试&#xff0c;或者用ESP32-S3 内置 JTAG 接口进行调试&#xff0c;这些方法有助于开发者在开发过程中进行更深入的调试。 1、ESP32-S3 内置 JTAG 接口 使用 ESP32-S3 内…

VSCode Markdown Preview Enhanced启用PlantumlL支持

目录 VSCode Markdown Preview Enhanced启用Plantuml支持安装Java下载Plantuml最新版本jar文件配置Markdown Preview Enhanced中Plantuml Jar Path路径 VSCode Markdown Preview Enhanced启用Plantuml支持 当需要Markdown支持PlantUML语法显示支持时&#xff0c;需要进行如下设…

学单片机怎么在3-5个月内找到工作?

每个初学者&#xff0c;都如履薄冰&#xff0c;10几年前&#xff0c;我自学单片机时&#xff0c;也一样。 想通过学习&#xff0c;找一份体面点的工作&#xff0c;又害怕辛辛苦苦学出来&#xff0c;找不到工作。 好在&#xff0c;当初执行力&#xff0c;还算可以&#xff0c;自…