Python中注释(多行注释和单行注释)的用法实例

yipeiwu_com6年前Python基础

前言

学会向程序中添加必要的注释,也是很重要的。注释不仅可以用来解释程序某些部分的作用和功能(用自然语言描述代码的功能),在必要时,还可以将代码临时移除,是调试程序的好帮手。

当然,添加注释的最大作用还是提高程序的可读性!很多时候,笔者宁愿自己写一个应用,也不愿意去改进别人的代码,没有合理的注释是一个重要原因。虽然良好的代码可自成文挡,但我们永远也不清楚今后读这段代码的人是谁,他是否和你有相同的思路。或者一段时间以后,你自己也不清楚当时写这段代码的目的了。

总的来说,一旦程序中注释掉某部分内容,则该内容将会被 Python 解释器忽略,换句话说,此部分内容将不会被执行。

通常而言,合理的代码注释应该占源代码的 1/3 左右。Python 语言允许在任何地方插入空字符或注释,但不能插入到标识符和字符串中间。

在 Python 中,通常包括 3 种类型的注释,分别是单行注释、多行注释和中文编码声明注释。

Python单行注释

Python 中使用井号(‘#')作为单行注释的符号,语法格式为:

# 注释内容

也就是说,从符号‘#'处开始,直到换行处结束,此部分内容都作为注释的内容,当程序执行时,这部分内容会被忽略。

单行注释放置的位置,既可以是要注释代码的前一行,例如:

#这是一行简单的注释
print ("Hello World!")

也可以是注释代码的右侧,例如:

print ("Hello World!") #这是一行简单的注释

基于注释在程序中所起到的作用,以上两种方式虽然放置位置不同,但程序的执行结果是相同的,都是输出“Hello World!”。

Python多行注释

多行注释指的是可以一次性注释程序中多行的内容(包含一行)。多行注释的语法有 2 种,分别是:

'''
使用 3 个单引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
'''

或者

"""
使用 3 个双引号分别作为注释的开头和结尾
可以一次性注释多行内容
这里面的内容全部是注释内容
"""

多行注释通常用来为 Python 文件、模块、类或者函数等添加版权、功能描述等信息。需要注意的是,在 Python 中,如果多行注释标记(三单引号或三双引号)作为语句的一部分出现,就不能再将它们视为多行注释的标记,而应看做是字符串的标志(同双引号的作用相同),例如:

print('''Hello,World!''')

该语句的执行结果为:Hello,World!。由此可见,Python 解释器没有将这里的三个单引号看做是注释,而是将它们看作是字符串的标志。

Python中文编码声明注释

Python 还提供了一种特殊的中文编码声明注释,其主要用来解决 Python 2.x 中不支持直接写中文的问题。虽然此问题在 Python 3.x 中已经不存在啦,但为了规范编码,增强代码的可执行性,方便其他程序员及时了解程序所用的编码,建议初学者在程序开头处加上中文编码声明注释。

中文编码声明注释的语法有如下 2 种:

# -*- coding:编码 -*-
或者
# coding=编码

语法中的编码,指的是编写程序所用的字符编码类型,比如 UTF-8、GBK 编码等。另外,在第一种语法中,‘-*-'并没有实际意义,只是为了美观才加上去了,因此,第一种语法格式中可以直接将前后的‘-*-'去掉。

举个例子,如果指定编码为 UTF-8,则可以使用下面的中文编码声明注释:

# coding:utf-8
或者
# coding=utf-8

注意,给代码添加注释是是注释的基本用法,它还有一个更实用的功能,即用来调试程序。举个例子,如果你觉得某段代码可能有问题,可以先把这段代码注释起来,让 Python 解释器忽略这段代码,然后运行。如果程序可以正常执行,则可以说明错误就是由这段代码引起的;反之,如果依然出现相同的错误,则可以说明错误不是由这段代码引起的。

由此可见,在调试程序时,学会注释代码,可以缩小错误所在的范围,提高调试程序的效率。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

python监控进程状态,记录重启时间及进程号的实例

本脚本为本人在性能测试过程中编写,用于对进程状态的监控,也可以用于日常的监控,适用性一般,扩展性还行 # -*- coding: UTF-8 -*- # author=baird_x...

Python中使用SAX解析xml实例

SAX是一种基于事件驱动的API。利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件;而事件处理器则负...

使用Python如何测试InnoDB与MyISAM的读写性能

使用Python如何测试InnoDB与MyISAM的读写性能

前言 由于近期有个项目对系统性能要求很高,技术选型上由于种种原因已经确定使用Mysql数据库,接下来就是要确定到底使用哪种存储引擎。我们的应用是典型的写多读少,写入内容为也很短,对系统的...

python画柱状图--不同颜色并显示数值的方法

python画柱状图--不同颜色并显示数值的方法

用python画柱状图容易,但是如何对不同柱子使用不同颜色呢?同时在柱子顶端显示精确数值? 主要用的方法为: atplotlib.pyplot.bar(left, height, wid...

解决phantomjs截图失败,phantom.exit位置的问题

刚刚学习使用phantomjs,根据网上帖子自己手动改了一个延时截图功能,发现延时功能就是不能执行,最后一点点排查出了问题。 看代码: var page = require('web...