Python 中如何写注释


Posted in Python onAugust 28, 2020

在写 Python 代码的时候,一个很好的编码实践就是使得你的代码简洁,易懂。组织代码,设置变量,以及给函数有意义的名字,都是几个不错的方法。

另外一个提高代码可读性的方式就是使用注释。一个注释就是可以用来解释代码的一段人类可读的解释或者一个注解。例如,如果你写了一个复杂的正则表达式,你可以添加一个注释,描述代码做了什么。

在你的 Python 代码中添加注释,在将来你阅读你的代码时,可以节省很多的时间和努力。比如说,你想修改一段你在几个月前或者几年前写的脚本。很可能你不记得为什么你写了一些比较复杂的代码,除非你添加一段注释。这个注释同时也可以帮助其他开发者理解你的代码,以及代码的目的。

注释应该很短,并且切中要点。不要解释那些很容易读懂的代码。

本文主要讲解在 Python 中编写注释的基础知识。

一、在 Python 中写注释

Python 会忽略井号(#)后面的一切。

注释可以添加到行首或者和其他代码在一行。

# This is a Python comment.
print("Hello World") # This is an inline Python comment.

井号后面的空格不是强制性的,但是它会提高注释的可读性。

在字符串中间的井号并不意味着是一段注释的开始。此时,它仅仅是一个简单的井号。

paragraph = "# Hash inside quotes is not a comment."

Comments should be at the same indent level as the code beneath it:

```py
def factorial(n):
 if n == 0:
 return 1
 else:
 # Use the factorial function
 return n * factorial(n-1)

如果你的文本编辑器支持语法高亮,注释通常都使用绿色代表。

注释在调试脚本的时候非常有用。与其删除一些行或者代码块,不如将他们暂时注释掉:

# for fruit in fruits:
# print(fruit)

二、Python 中的多行注释(注释块)

不像其他流行的编程语言,Python 仅仅支持单行注释。

在 Python 中编写多行注释的最简单方式就是每行添加一个注释。

# This is the first line.
# This is the second line.

另外一个选项就是使用 docstrings

Docstrings 是一个多行字符串,用来对模块,函数,类和方法进行文档化的。

一个 Docstrings 以(""") 开始,可以是 一行或者多行:

"""This is
a multiline
docstring.
"""

Docstrings 不是技术性的注释。当 Docstrings 在模块,函数,类,或者方法的前面出现的时候,它在字节码中结束,并且变成__doc__特殊属性的对象。

你更应该使用单行注释。

三、Shebang

如果你阅读 Python 脚本,你可能注意到第一行以#!字符开始,接着是 Python 解释器的路径。

#!/usr/bin/env python3

这一串字符串被称为shebang,它被用来告诉操作系统,应该使用什么解释器来解析文件。脚本以 shebang 开头,并且可以在终端中直接运行,而不用在脚本输入python

因为 shebang 以 井号开头,它被认为是一个注释,并且自动被 Python 解释器忽略。

四、总结

编写注释是一个非常好的实践,它帮助其他开发者,包括未来的自己,来理解这段代码在做什么。

在 Python 中,所有以井号开头的直到行末的,都被认为是一段注释。

以上就是Python 中写注释的方法的详细内容,更多关于python 注释的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
用python分割TXT文件成4K的TXT文件
May 23 Python
python装饰器decorator介绍
Nov 21 Python
Python标准库之多进程(multiprocessing包)介绍
Nov 25 Python
简单分析Python中用fork()函数生成的子进程
May 04 Python
Python出现segfault错误解决方法
Apr 16 Python
详解Python中的__getitem__方法与slice对象的切片操作
Jun 27 Python
Python中正则表达式详解
May 17 Python
Python numpy.array()生成相同元素数组的示例
Nov 12 Python
基于pytorch的lstm参数使用详解
Jan 14 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
Jun 30 Python
python实现简易名片管理系统
Apr 11 Python
Python Django框架介绍之模板标签及模板的继承
May 27 Python
Python操作Word批量生成合同的实现示例
Aug 28 #Python
Python接口自动化测试的实现
Aug 28 #Python
解决python和pycharm安装gmpy2 出现ERROR的问题
Aug 28 #Python
Python自动登录QQ的实现示例
Aug 28 #Python
python opencv pytesseract 验证码识别的实现
Aug 28 #Python
简单的命令查看安装的python版本号
Aug 28 #Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 #Python
You might like
Laravel中使用阿里云OSS Composer包分享
2015/02/10 PHP
php实现json编码的方法
2015/07/30 PHP
Symfony学习十分钟入门经典教程
2016/02/03 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
php框架CodeIgniter使用redis的方法分析
2018/04/13 PHP
js解析与序列化json数据(一)json.stringify()的基本用法
2013/02/01 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
AngularJS动态菜单操作指令
2017/04/25 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
2017/09/29 Javascript
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
微信小程序加载机制及运行机制图解
2019/11/27 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
Python datetime时间格式化去掉前导0
2014/07/31 Python
Python中bisect的用法
2014/09/23 Python
使用Python生成url短链接的方法
2015/05/04 Python
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
Django实现文件上传和下载功能
2019/10/06 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
护理专业个人求职简历的自我评价
2013/10/13 职场文书
求职推荐信范文
2013/12/01 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
导游词之西安大清真寺
2019/12/17 职场文书
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA