前言
在写 Python 代码的时候,一个很好的编码实践就是使得你的代码简洁,易懂。组织代码,设置变量,以及给函数有意义的名字,都是几个不错的方法。
另外一个提高代码可读性的方式就是使用注释。一个注释就是可以用来解释代码的一段人类可读的解释或者一个注解。例如,如果你写了一个复杂的正则表达式,你可以添加一个注释,描述代码做了什么。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FqpoBS3j-1636110465983)(https://upload-images.jianshu.io/upload_images/25002343-cca89a98b1eed043.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
在你的 Python 代码中添加注释,在将来你阅读你的代码时,可以节省很多的时间和努力。比如说,你想修改一段你在几个月前或者几年前写的脚本。很可能你不记得为什么你写了一些比较复杂的代码,除非你添加一段注释。这个注释同时也可以帮助其他开发者理解你的代码,以及代码的目的。
注释应该很短,并且切中要点。不要解释那些很容易读懂的代码。我觉得学习python编程人,一定要有一个互相交流学习的圈子,不管是获取最新的行业动态,还是最新的操作方法,交流和学习都必不可少。如果只是一个人闷头做,是很难把python做好的,为此我建了一个位:212,184,6671。这个位心里都是学习编程的人,有很多人和你交流python编程核心经验,也有大牛每天分享爬虫、人工智能技巧,不需要你付出什么,只要你是真心想学习的就足够了。
一、在 Python 中写注释
Python 会忽略井号(#)后面的一切。
注释可以添加到行首或者和其他代码在一行。
# This is a Python comment.
print("Hello World")
# This is an inline Python comment.
- 1
- 2
- 3
井号后面的空格不是强制性的,但是它会提高注释的可读性。
在字符串中间的井号并不意味着是一段注释的开始。此时,它仅仅是一个简单的井号。
paragraph = "
# Hash inside quotes is not a comment." Comments should be at the same indent level as the code beneath it: ```
pydef factorial(n):
if n == 0: return 1 else:
# Use the factorial function return n * factorial(n-1)
- 1
- 2
- 3
- 4
- 5
如果你的文本编辑器支持语法高亮,注释通常都使用绿色代表。
注释在调试脚本的时候非常有用。与其删除一些行或者代码块,不如将它们暂时注释掉:
# for fruit in fruits:
# print(fruit)
- 1
- 2
二、Python 中的多行注释(注释块)
不像其他流行的编程语言,Python 仅仅支持单行注释。
在 Python 中编写多行注释的最简单方式就是每行添加一个注释。
# This is the first line.
# This is the second line.
- 1
- 2
另外一个选项就是使用 docstrings
Docstrings 是一个多行字符串,用来对模块,函数,类和方法进行文档化的。
一个 Docstrings 以(“””) 开始,可以是 一行或者多行:
"""This isa multilinedocstring."""
- 1
Docstrings 不是技术性的注释。当 Docstrings 在模块,函数,类,或者方法的前面出现的时候,它在字节码中结束,并且变成__doc__特殊属性的对象。
你更应该使用单行注释。
三、Shebang
如果你阅读 Python 脚本,你可能注意到第一行以#!字符开始,接着是 Python 解释器的路径。
#!/usr/bin/env python3
- 1
这一串字符串被称为shebang,它被用来告诉操作系统,应该使用什么解释器来解析文件。脚本以 shebang 开头,并且可以在终端中直接运行,而不用在脚本输入python。
因为 shebang 以 井号开头,它被认为是一个注释,并且自动被 Python 解释器忽略。
四、总结
编写注释是一个非常好的实践,它帮助其他开发者,包括未来的自己,来理解这段代码在做什么。
在 Python 中,所有以井号开头的直到行末的,都被认为是一段注释。
最后
小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。