第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) # 输出长方形面积