1 Python 注释概述

注释(Comments)是用来向开发者(用户)提示或解释某些代码的思路、作用和功能等,可以添加到代码中的任何位置。Python 解释器(Python Interpreter)在执行程序(代码)时会忽略注释部分,不做任何处理,即注释部分不会被 Python 解释器执行。

在代码中添加适当的注释量很重要,注释通常占源代码的 1/3 左右。

Python 支持两种类型的注释:单行注释和多行注释。

2 Python 注释的作用

2.1 调试代码

在调试(Debug)程序的过程中,单行注释可以用来临时快速注释某些代码,达到缩小错误范围、提高调试程序效率的目的。

具体操作如下:

在不确定具体是哪一行代码出错的情况下,我们可以先把觉得可能有问题的代码注释起来,然后再运行程序观察结果。如果程序可以正常执行,则可以说明错误就是由这段代码引起的;反之,如果依然出现相同的错误,则可以说明错误不是由这段代码引起的。

2.2 提高程序的可读性

注释的最大作用是提高程序的可读性,没有注释的程序是很难让人看懂的,说是天书也不为过。

更甚至,自己写的代码,过了一段时间以后,自己也会忘记思路或者目的。

3 Python 单行注释

3.1 Python 单行注释概述

Python 中是使用井号#作为单行注释的符号,其语法格式如下所示:

# 添加的注释内容

对以上语法格式的说明:

  • #作为单行注释的符号。
  • 从井号#开始,直到这行结束为止的所有内容都是注释。Python 解释器遇到#时,会忽略它后面的整行内容,即#之后的一行内容都属于注释部分。

3.2 单行注释注释单行代码的情况

单行注释注释单行代码时通常会将注释放在代码的右侧,与代码之间用两个空格隔开,如下所示:

print("码农阿杰")  # 输出笔者的微信公众号名称
print('https://www.cnblogs.com/manongajie/') # 输出笔者的博客园博客地址
print('https://blog.csdn.net/manongajie/') # 输出笔者的CSDN博客地址

3.3 单行注释注释多行代码的情况

单行注释注释多行代码时通常将注释放在代码的上一行,如下所示:

# 使用 print() 内置函数输出字符串
print("微信公众号:码农阿杰")
print("博客园博客地址 https://www.cnblogs.com/manongajie/")
print("CSDN 博客地址 https://blog.csdn.net/manongajie/") # 使用 print() 内置函数输出数字
print(520)
print(521)
print(1314)

3.4 单行注释注意事项

3.4.1 单行注释符号作为字符串的一部分存在

当单行注释符号#作为字符串的一部分出现时,就不能再将它当做单行注释标记,而应该当做是字符串的一部分(字符串的字符),如下所示:

print('# 微信公众号:码农阿杰')
print("# 博客园博客地址 https://www.cnblogs.com/manongajie/""")
print("# CSDN 博客地址 https://blog.csdn.net/manongajie/")

运行结果:

# 微信公众号:码农阿杰
# 博客园博客地址 https://www.cnblogs.com/manongajie/
# CSDN 博客地址 https://blog.csdn.net/manongajie/

对以上代码说明:

  • Python 没有将井号#当做单行注释标记,而是将它当做字符串的一部分。

4 Python 多行注释

4.1 Python 多行注释概述

多行注释指的是一次性注释程序中多行代码,也可以是一行代码。

Python 中支持使用三个连续的单引号'''分别作为注释的开头和结尾,或者三个连续的双引号"""分别作为注释的开头和结尾,一次性注释多行或单行内容。

多行注释通常用来为 Python 函数、类、模块等等添加功能、版本和作者等描述信息。

4.2 三个连续的单引号注释

三个连续的单引号注释内容具体格式如下:

'''
使用三个连续的单引号分别作为注释的开头和结尾
可以一次性注释多行内容或单行内容
'''

4.3 三个连续的双引号注释

"""
使用三个连续的双引号分别作为注释的开头和结尾
可以一次性注释多行内容或单行内容
"""

4.4 多行注释也可以为函数提供说明文档

在 Python 中可以通过 help()内置函数或者__doc__属性查看某个函数的说明文档,如下代码所示:

# 查看 print() 内置函数的说明文档
print('--- 用 help()内置函数查看说明文档 ---')
help(print)
print('--- 用 __doc__ 属性查看说明文档 ---')
print(print.__doc__)

运行结果:

--- 用 help()内置函数查看说明文档 ---
Help on built-in function print in module builtins: print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream. --- 用 __doc__ 属性查看说明文档 ---
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.

其实,函数的说明文档,本质就是一段字符串(跟多行注释符号一致),都需要程序员自己编写,只不过作为说明文档,字符串的放置位置不同而已,函数的说明文档通常位于函数内部、所有代码的最前面。

如何为函数设置说明文档呢?如下所示:

# 定义一个比较数字大小的函数
def num_max(num1, num2):
"""
比较两个数字的大小
:param num1:形参1,数字1
:param num2:形参2,数字2
:return:大的数字,max_num = num1 if num1 > num2 else num2
"""
max_num = num1 if num1 > num2 else num2
return max_num result = num_max(1, 2)
print(result)
print('--- 用 help() 内置函数查看 num_max() 的说明文档 ---')
help(num_max)
print('--- 用 __doc__ 属性查看 num_max() 的说明文档 ---')
print(num_max.__doc__)

运行结果:

2
--- 用 help() 内置函数查看 num_max() 的说明文档 ---
Help on function num_max in module __main__: num_max(num1, num2)
比较两个数字的大小
:param num1:形参1,数字1
:param num2:形参2,数字2
:return:大的数字,max_num = num1 if num1 > num2 else num2 --- 用 __doc__ 属性查看 num_max() 的说明文档 --- 比较两个数字的大小
:param num1:形参1,数字1
:param num2:形参2,数字2
:return:大的数字,max_num = num1 if num1 > num2 else num2

4.5 多行注释注意事项

4.5.1 多行注释不支持嵌套

Python 多行注释不支持嵌套,如下所示为错误写法:

'''
外层注释
'''
内层注释
'''
'''

4.5.2 多行注释符号'''"""作为字符串标记

多行注释符号'''"""也可以作为字符串的开始和结束标记。

Python 中当多行注释符号作为字符串的一部分出现时,就不能再将它们当做多行注释标记,而应该看做是字符串的一部分,如下所示:

str_info1 = '''微信公众号:码农阿杰'''
str_info2 = """博客园博客地址 https://www.cnblogs.com/manongajie/"""
str_info3 = "CSDN 博客地址 https://blog.csdn.net/manongajie/" print(str_info1)
print(str_info2)
print(str_info3)

运行结果:

微信公众号:码农阿杰
博客园博客地址 https://www.cnblogs.com/manongajie/
CSDN 博客地址 https://blog.csdn.net/manongajie/

对以上代码说明:

  • Python 没有将这里的三个引号当做是多行注释,而是将它们看作字符串的开始和结束标志。

5 文章其它地址

5.1 微信公众号:码农阿杰

5.2 CSDN博客

6 参考资料

6.1 Python 3.8.2 documentation

Python 注释(Python Comments)用法详解的更多相关文章

  1. [转]使用python来操作redis用法详解

    转自:使用python来操作redis用法详解 class CommRedisBase(): def __init__(self): REDIS_CONF = {} connection_pool = ...

  2. Python Deque 模块使用详解,python中yield的用法详解

    Deque模块是Python标准库collections中的一项. 它提供了两端都可以操作的序列, 这意味着, 你可以在序列前后都执行添加或删除. https://blog.csdn.net/qq_3 ...

  3. Python中self的用法详解,或者总是提示:TypeError: add() missing 1 required positional argument: 'self'的问题解决

    https://blog.csdn.net/songlh1234/article/details/83587086 下面总结一下self的用法详解,大家可以访问,可以针对平时踩过的坑更深入的了解下. ...

  4. python的转义字符及用法详解

    在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符. Python3.7 的官方文档中列出的所支持的转义字符,如下表: 中文版: 注:\oyy 应该是 \0yy  另外 :\e 和 \0 ...

  5. python OptParse模块的用法详解

    OptParse模块的简单介绍 Python 有两个内建的模块用于处理命令行参数: 一个是 getopt只能简单处理 命令行参数: 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成 ...

  6. 21.Python算术运算符及用法详解

    算术运算符是处理四则运算的符号,在数字的处理中应用得最多.Python 支持所有的基本算术运算符,如表 1 所示. 表 1 Python常用算术运算符 运算符 说明 实例 结果 + 加 12.45 + ...

  7. 使用python来操作redis用法详解

    1.redis连接 redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRe ...

  8. python 对excel操作用法详解

    在python中,对excel表格读,写,追加数据,用以下三个模块: 1.wlrd 读取excel表中的数据 2.xlwt 创建一个全新的excel文件,然后对这个文件进行写入内容以及保存. 3.xl ...

  9. python os.path模块用法详解

    abspath 返回一个目录的绝对路径 Return an absolute path. >>> os.path.abspath("/etc/sysconfig/selin ...

  10. python中yield的用法详解-转载

    原文链接:https://blog.csdn.net/mieleizhi0522/article/details/82142856 ,今天在写python爬虫的时候,循环的时候用到了yield,于是搜 ...

随机推荐

  1. Recover刷机简介

    Recovery Recovery是一种可以对安卓手机内部的数据文件进行修改的模式,类似电脑的PE.不同的recovery有不同的功能.使用recovery可以说是刷机(卡刷)的基础,想要比较顺畅的刷 ...

  2. python https请求报错:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED]

    python爬虫,使用requests库发送https请求报错:SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 解决方法: imp ...

  3. sql 语句系列(字符串的遍历嵌入删除与统计)[八百章之第十一章]

    遍历字符串 我觉得首先要提出一个疑问: 一个数据库本身就是用于存储的,遍历字符串究竟有何意义? 先看如何实现的,毕竟sql service 是没有for循环,也没有loop和while的. selec ...

  4. python,keras,tensorflow安装问题 module 'tensorflow' has no attribute 'get_default_graph'

    module ‘tensorflow’ has no attribute ‘get_default_graph’当我使用keras和tensorflow做深度学习的时候,python3.7报了这个错误 ...

  5. win10系统 端口查看问题。

    首先看图根据系统自带命令netsta介绍,说明显示协议系统信息和当前TCP/IP 网络连接. 使用范例: 打开命令提示符窗口,在这里输入命令netstat -an,然后按下回车键,这时可以显示出电脑中 ...

  6. Hadoop Zookeeper 分布式服务框架

    what is Zookeeper? 1,开源的分布式的,为分布式应用提供协调服务的Apache项目2,提供一个简单原语集合,以便于分布式应用可以在它之上构建更高层次的同步服务3,设计非常易于编程,它 ...

  7. python使用镜像源安装库

    pip install django -i http://pypi.douban.com/simple --trusted-host pypi.douban.com 豆瓣 :http://pypi.d ...

  8. 线程状态以及sleep yield wait join方法

    前言 在日常的开发过程中,我们通过会使用Thread.sleep模拟一个耗时的任务执行过程. 在深入理解这四个方法之前,首先对线程的状态进行理解阐述. 线程概念 线程是操作系统执行任务的基本单位,处理 ...

  9. 深入解读ES6系列(一)

    ECMAScript 6(ES6)简介 前言: 哈喽小伙伴们,爱说'废'话的Z又回来了,欢迎来到Super IT曾的博客时间,我说啦这个月要带的福利,说了更的博客肯定不能水你们,要一起进步学习嘛,今天 ...

  10. B 外地比赛

    时间限制 : - MS   空间限制 : - KB  评测说明 : 1s,256m 问题描述 何老板带着信竞队的k个同学出去外地打比赛.到达目的地后,何老板就找了一家酒店,准备住下.酒店工作人员告诉何 ...