2.1.1 注释规则
注释类似于语文课本中古诗文的注释,如图2.1所示。据此,所谓注释,就是在代码中添加标注性的文字,进而帮助程序员更好地阅读代码。注释的内容将被Python解释器忽略,并不会在执行结果中体现出来。
在Python中,通常包括3种类型的注释,分别是单行注释、多行注释和文件编码声明注释。这些注释在IDLE中的效果如图2.2所示。
1.单行注释
在Python中,使用#作为单行注释的符号。从符号#开始直到换行,其后面所有的内容都作为注释的内容而被Python编译器忽略。
图2.1 古诗文的注释
图2.2 Python中的注释
语法如下:
# 注释内容
单行注释可以放在要注释的代码的前一行,也可以放在要注释的代码的右侧。例如,下面的两种注释形式都是正确的。
第一种形式:
01 # 要求输入身高,单位为m,如1.70 02 height=float(input("请输入您的身高:"))
第二种形式:
height=float(input("请输入您的身高:")) # 要求输入身高,单位为m,如1.70
上述两种形式的代码,其运行结果都将如图2.3所示。
图2.3 运行结果
说明
在添加注释时,一定要有意义,即注释能充分体现代码的作用。例如,图2.4中的注释就是冗余的注释。如果将其注释修改为如图2.5所示的注释,则可很清楚地知道代码的作用。
图2.4 冗余的注释
图2.5 推荐的注释
单行注释可以出现在代码的任意位置,但是不能分隔关键字和标识符。例如,下列代码注释是错误的:
height=float(#要求输入身高 input("请输入您的身高:"))
说明
在IDLE开发环境中:可以通过选择主菜单中的Format→Comment Out Region菜单项(也可直接使用快捷键Alt+3),将选中的代码注释掉;也可以通过选择主菜单中的Format→UnComment Region菜单项(也可直接使用快捷键Alt+4),取消添加的单行注释。
2.多行注释
在Python中并没有一个单独的多行注释标记,而是将包含在一对三引号(即'''……'''或者"""……""")中,并且不属于任何语句的内容则认为是注释。对于这样的代码,将被解释器忽略。这样的代码可以分为多行编写,因此也作为多行注释。
语法格式如下:
''' 注释内容1 注释内容2 …… '''
或者
""" 注释内容1 注释内容2 …… """
误区警示
在使用三引号作为注释时,需要注意,三引号必须成对出现,如果只写一半三引号,那么当程序运行时,将会提示EOF while scanning triple-quoted string literal错误。
多行注释通常用来为Python文件、模块、类或者函数等添加版权、功能等信息。例如,下列代码将使用多行注释为demo.py文件添加版权、功能及修改日志等信息:
01 ''' 02 @ 版权所有:吉林省明日科技有限公司?版权所有 03 @ 文件名:demo.py 04 @ 文件功能描述:根据身高、体重计算BMI指数 05 @ 创建日期:2021年1月31日 06 @ 创建人:无语 07 @ 修改标识:2021年2月2日 08 @ 修改描述:增加根据BMI指数判断体重是否合理的功能代码 09 @ 修改日期:2021年2月2日 10 '''
注意
三引号'''……'''或者"""……"""如果出现在语句中,那么就不是注释,而是字符串,这一点要注意区分。例如,图2.6中的代码即为多行注释,而图2.7中的代码即为字符串。
图2.6 三引号为多行注释
图2.7 三引号为字符串
3.文件编码声明注释
在Python 3中,默认采用的文件编码是UTF-8。这种编码支持世界上大多数语言的字符,也包括中文。如果不想使用默认编码,就需要在文件的第一行声明文件的编码,也就是需要使用文件编码声明注释。
语法格式如下:
# -*- coding:编码 -*-
或者
#coding=编码
在上述语法中,编码为文件所使用的字符编码类型,如果采用GBK,则设置为gbk或cp936。例如,指定编码为GBK,可以使用以下中文注释:
# -*- coding:gbk -*-
说明
在上述代码中,“-*-”没有特殊的作用,只是为了美观才加上的。所以上述代码也可以使用“# coding:gbk”代替。
另外,以下代码也是正确的中文注释:
#coding=gbk