课前提示:学习途中遇到看不懂的知识点、代码报错,可以在评论区留言提问,一起交流学习!
注释是写在代码内的说明文字,Python解释器会直接忽略注释内容,不会执行,仅供给程序员阅读查看。
1. 解释复杂代码的编写思路、业务逻辑;
2. 标记待完成任务、bug备注、开发提醒;
3. 临时屏蔽代码,调试的时候关闭某一段程序;
4. 给函数、类编写说明文档,方便他人调用。
小常识:代码是给电脑运行,注释是写给三个月后的自己和团队成员查看。
Python一共有3种注释形式:#单行注释、#多行块注释、三引号文档字符串(docstring),三者本质、用途完全不一样,不要混淆。
语法:整行以井号 # 开头,#往后该行所有内容全部属于注释。
# 计算1‑100所有数字相加sum_result = (1 + 100) * 100 // 2
2. 行内注释:写在同一行代码的后方a = 30 # 定义变量a存储年龄PEP‑8规范硬性细节1. #后面必须带上一个空格再输入文字;
2. 行内注释和前面代码之间,至少隔开2个空格;
3. 注释优先解释「为什么这么写」,不要写无意义废话,例如 num = num + 1 # 数字加一 属于多余注释。
Python没有专属的多行注释符号,标准写法是每一行开头都添加 # 井号。
适合一大段文字说明、代码临时屏蔽:
# 下面代码用来实现用户登录判断# 先输入账号密码,再比对数据库信息# 账号正确则进入主页name = input("请输入账号:")
新手误区:很多人直接拿三引号当作多行注释。本质上三引号是字符串,只是没有赋值给变量;它依旧会被解释器读取,只是不会运行,正式项目不推荐用来做普通多行注释。
使用 """ """ 或者 ''' ''' 包裹,属于 功能性注释,专门用于函数、类、整个模块的功能说明,可以使用help()命令读取查看,还能够自动生成项目接口文档。
# 单行文档字符串def add(x, y):"""接收两个数字,返回二者相加结果"""return x + y# 多行详细文档注释def calculate_area(width, height):"""计算长方形面积:param width: 长方形的宽,整型:param height: 长方形的高,整型:return: 返回面积数值"""return width * height# 调用help查看文档注释help(add)
三引号注释特殊知识点1. 三引号字符串会存放在函数内置属性 __doc__;
2. 优先使用三双引号 """,是行业统一规范;
3. 普通代码块禁止依靠三引号充当多行注释。
1. # 写在引号字符串里面的时候,它只是普通字符,不再是注释标记
text = "我喜欢#Python编程"print(text)# 输出:我喜欢#Python编程
2. 注释不能够拆分一行代码;#之后整行直接结束;
3. 调试代码的时候,可以批量注释掉暂时不需要运行的代码;
4. 常用开发标记:
# TODO: 此处后续完善登录逻辑# FIX: 已经修复数值溢出bug# WARNING: 该变量后续会被废弃
5. 中文注释:代码文件头部推荐写上编码声明(Python3默认支持中文,旧版需要)
# -*- coding: utf‑8 -*-
空行就是单纯按下回车键产生的空白行,不会影响程序运行,作用是分割代码板块、优化阅读观感。
1. 函数、类定义前后,空两行;
2. 函数内部不同功能代码块之间空一行;
3. if、for、while循环内部不要随意插入多余空行;
4. 脚本最顶部、导入import模块之后空一行;
import randomdef get_num():"""随机生成0‑10的整数"""res = random.randint(0, 10)return resprint(get_num())
1. 空行不会改变代码缩进层级;
2. 不要连续写三行以上的多余空白行;
3. 编辑器的空白换行只是排版,解释器会自动忽略多余空行。
1. 普通多行注释每行都使用#,三引号只用来编写函数docstring文档注释;
2. 字符串内部#只是普通文字,无法开启注释;
3. 行内注释和代码中间需要隔开两个空格,#后面带上单个空格;
4. 不要编写废话注释,注释用来解释思路,不要复述代码本身功能;
5. 依靠空行区分代码板块,让代码结构一目了然;
6. 所有注释符号#、引号都必须使用英文半角符号,中文符号直接报错。
定义变量score等于85,在行尾添加注释“学生考试分数”,再编写整行注释说明下方代码用来判断成绩是否及格。
编写一个用来计算两数减法的函数,使用多行三引号文档注释写明参数、返回值,最后调用help查看注释。
按照编码规范,调整下面代码的空行布局
import math
def circle(r):
return 3.14*r*r
print(circle(5))
课程结尾提示:练习做完之后,如果有注释写法、代码排版方面的疑问,可以在评论区粘贴你的代码,进行留言探讨!