Python完全自学教程
上QQ阅读APP看书,第一时间看更新

第2章 Python语言基础

2.1 注释

注释,是指在代码中对代码功能进行解释说明的标注性文字,可以提高代码的可读性,让代码更容易理解和维护。程序运行时,注释的内容将被Python解释器忽略,并且不会在执行结果中体现出来。

编写程序时,及时添加注释不但可以记录程序的作用和功能,还可以通过注释对程序进行调试,这是一些有经验的编程人员经常使用的调试手段。

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

2.1.1 单行注释

在Python中,可使用“#”作为单行注释的符号。从“#”开始直到换行为止,其中的所有内容都作为注释而被Python解释器忽略。语法格式如下。

# 注释内容

单行注释可以放在要注释代码的前一行,也可以放在要注释代码的右侧。例如,下面的两种注释形式都是正确的。

当行注释(注释直接占一行) :

# 数字竞猜小游戏程序
# 预设竞猜数字给变量instr
instr = input("请输入预设的竞猜数字:")

行末注释(在代码的右侧添加注释):

guess = -1                                   # 设置默认输入的竞猜数字为-1
print("======数字猜谜小游戏======")           # 输出游戏名称
while guess != number:                       # 如果竞猜错误,重新竞猜

使用当行注释还是行末注释,需要根据编写程序的实际情况进行选择,当需要解释、说明的内容较多时,推荐使用当行注释。当行注释和行末注释的综合应用代码如下。

# 用户登录判断程序
# 只要输入user列表中的用户,就可以模拟登录系统
user=['like','ming','sun','xiaobei','star'] # 用户名称列表
while True:                                 # 要求重复输入,直到输入正确的用户名称
    instr = input('用户名称:')            # 要求输入用户名称
    if instr in user:                     # 如果输入的用户在列表中
        print('正在进入系统,请稍后!')
        break                             # 退出程序
    else:
        print('密码不正确,请重新输入!')
continue                          # 继续执行程序

注意

在任何代码行前面加上“#”符号,该行代码就可以变成注释。利用这个方法,在遇到程序中暂时无法调试的代码时,可以先将其变成注释的形式,进行部分程序的优先调试。

2.1.2 多行注释

在Python中,并没有单独的多行注释标记,而是将包含在一对三引号(' ' '……' ' ')或者(" " "……" " ")之间的内容都称为多行注释。这样的内容将被解释器忽略。由于这样的内容可以分为多行编写,所以也作为多行注释。语法格式如下。

'''
注释内容1
注释内容2
……
''' 

或者

"""
注释内容1
注释内容2
……
"""

多行注释通常用来为Python文件、模块、类或者函数等添加版权、功能等信息,例如,下面的代码将使用多行注释为程序添加功能、开发者、版权所有、开发日期等信息。

'''
信息加密模块
开发者:天星
版权所有:明日科技
2018年9月
'''

多行注释也经常被用来解释代码中重要的函数、参数等信息,便于后续开发者维护代码,例如:

'''
库存类主要的函数
update改/更新
find查找
delete删除
create添加
'''

多行注释其实可以采用单行注释多行书写的方式实现,如上面的多行注释可以写成如下形式。

# 库存类主要的函数
# update改/更新
# find查找
# delete删除
# create添加

2.1.3 中文编码声明注释

在Python中编写代码的时候,如果用到指定字符编码类型的中文编码,需要在文件开头加上中文编码声明注释,这样可以在程序中指定字符编码类型的中文编码,不至于出现代码错误。所以说,中文编码声明注释很重要。Python 3.x提供的中文编码声明注释语法格式如下。

# -*- coding:编码 -*-

或者

# coding=编码

例如,保存文件编码格式为UTF-8,可以使用下面的中文编码声明注释。

# -*- coding:utf-8 -*-

为代码添加注释,是一个优秀的程序员必须要做的工作。但要确保注释的内容都是重要的,看一眼就知道代码的作用,而有些代码是不需要加注释的。

说明

在上面的代码中,“-*-”没有特殊的作用,只是为了美观才加上的,所以上面的代码也可以使用“# coding:utf-8”代替。

为了便于读者理解程序中的代码,本书对大多数代码都进行了注释。在实际开发中,读者只要对关键代码进行注释就可以了,不必像本书一样。

2.1.4 注释程序进行调试

在编码时,有些代码可能会出现编码错误,无法编译;或者我们不希望编译、运行程序中的某些代码,这时可以将这些代码注释掉。这种调试方式简单、实用,有经验的程序员经常采用这种方式进行程序调试。下面以计算长方形的对角线长、周长和面积为例来演示如何通过注释调试程序。计算长方形的对角线长、周长和面积的代码如下。

a,b=map(float,input('请输入长方形两个边的边长,用英文逗号间隔:').split(','))
s=a*b
l=(a+b)*2
d=(a**2+b**2)**(1/2)
print('长方形的对角线长为:',d)   # 输出长方形的对角线长
print('长方形周长为:',l)        # 输出长方形周长
print('长方形面积为:',s)        # 输出长方形面积

在上面的代码中,如果只想计算长方形面积,但要保留计算对角线长和周长的代码,则只需将计算对角线长和周长的代码注释即可,代码如下。

a,b=map(float,input('请输入长方形两个边的边长,用英文逗号间隔:').split(','))
s=a*b
# l=(a+b)*2
# d=(a**2+b**2)**(1/2)
# print('长方形的对角线长为:',d)       # 输出长方形的对角线长
# print('长方形周长为:',l)            # 输出长方形周长
print('长方形面积为:',s)              # 输出长方形面积

在上面的代码中,如果想计算长方形的面积和周长,则只需将计算周长的代码恢复即可,代码如下。

a,b=map(float,input('请输入长方形两个边的边长,用英文逗号间隔:').split(','))
s=a*b
l=(a+b)*2
# d=(a**2+b**2)**(1/2)
# print('长方形的对角线长为:',d)       # 输出长方形的对角线长
print('长方形周长为:',l)              # 输出长方形周长
print('长方形面积为:',s)              # 输出长方形面积