在还没开始学代码前,就要先学会写注释。不会写注释的程序员会遭到鄙视和唾弃,甚至在工作中会被人穿小鞋。注释也不是随便写一下就行,用好注释还是有点讲究的。

注释有什么用?

注释(Comments)主要是向阅读代码的人解释某些代码的作用和功能,它可以出现在代码中的任何位置。Python 在执行代码时会忽略注释,不做任何处理,就好像它不存在一样。注释主要是给人看的,而不是给机器运行的。

举个例子。你写了一段非常厉害的代码,可以让汽车自动驾驶的代码,但是这段代码用了很多复杂的算法,别的人很难看懂,所以你就会在这一段代码中添加注释,解释下代码的意思。 这样,就算别人一时间很难理解代码,也可以通过读注释知道代码做了什么事情。

一般我们会使用 # 号来表示注释,并且在代码上方写注释来说明代码的作用。

# 这段代码实现了自动驾驶功能

# 使用 CNN 算法实现...
do_something_cnn

# 使用傅里叶转换
do_something

注释的最大作用是提高程序的可读性,没有注释的程序对别人来说简直就是噩梦。 我们写完代码以后,可能会有代码审查,如果很难理解,公司可能会打回来,让你重新补齐注释。

还有一种情况,当你半个月以后再来看之前写的代码,可能根本想不起来为什么这么写。有了注释,可以迅速帮你回想之前的实现细节。很多程序员宁愿自己去开发一个应用,也不愿意去修改别人的代码,没有合理的注释是一个重要的原因。

千万不要认为你自己写的代码规范就可以不加注释,这样很容易引起同事之间的相互嫌弃。

注释的表示方法

第一种方式是使用# 号,也就是上面的用法,它只能用来表示某一行是注释,不能表示多行, 如果同时有几行都是注释,就需要每一行前面都添加一个 # 号。

# 第一行注释
# 第二行注释
# 第三行注释
do_something_with_code

另一种方式是使用三引号 """""" ,这种方式可以非常方便的写多行注释,比较常用在注释比较长的的地方。

"""这段注释比较长。
因为比较长,所以我们用的是三个引号,

不管怎么换行,都会比较方便。

"""

do_something_with_code

快捷键

当表示注释时,每次都要在前面加上一个# 号是不方便的,所以经常会使用快捷键来表示注释,每个编辑器的快捷键会稍微有一点区别,以 Pycharm 为例,当需要表示注释时,我们把要注释的代码用鼠标选中,然后使用 ctrl + / 快捷键就可以自动在前面加上 # 号, 如果有多行,选中多行就可以了。

快捷键表示注释经常用在我们写了一些代码,结果暂时不想让这些代码运行,就可以使用快捷键,把这些代码迅速转成注释。后面想用的的时候再选中这些注释,再按一下快捷键,就又会转回代码。


comments.gif

大牛们的注释习惯

在我接触到的技术大牛中,都有一套自己的注释习惯,虽然每个人会稍微有点区别,但是大体上都差不多。现在都还没说开始写代码呢就学大牛,好像有点早,但我以为好的注释习惯能快速提高写代码的速度。

那么,一套好的注释习惯会包含哪些要素呢?

要素一:用注释在每个自己创建的文件上说明作者、联系方式、创建时间, 这样如果别人看到这段代码有什么疑问,可以第一时间联系你。

# -----------------------------------------------
# Author: 九柄
# 微信号: jiubing1
# 公众号: 九柄
# -----------------------------------------------

在 Pycharm 当中,你并不需要每创建一个文件都手动输入这些注释,可以通过模板创建的方式自动添加。有了模板以后,每创建一个新文件,pycharm 会自动带上这些注释信息。

在 Pycharm中点击 File→Settings→Editor→File and code Templates,右侧找到Python Script,如下图。 时间这种会变的直接用花括号括起来,不会变的就直接写。

要素二: 在文件的顶部说明一下这个文件的具体功能,在这里可以说明一下这个文件的具体用法,甚至可以举一些例子,别人可以照着操作。

"""数据操作模块。
主要是对数据库操作的封装,包括查询数据,插入数据,更新数据。

具体用法如下:

...

"""

要素三: 在每个函数的下面用多行注释写下函数的作用。

class DAO:
def insert_rows(self, table_name,data_set):
"""把excel文件数据导入数据库"""
pass

要素四:单行注释要适量,太多单行注释反而会影响别人阅读代码。想象一下,你的代码本来就写得不错,也容易理解,但是偏要写一行代码就说明一下什么意思,那就有点画蛇添足了。 所以单行注释只在特别难理解的代码上适度添加就行了,不需要每行代码都说明一下。

# 特别难懂的代码再写注释
do_something_difficultly()

总结

注释是学一门编程语言最简单的语法,实际上,这一片只讲了 # 号和 """""" 三引号这两个特别简单的语法。但是真要用起来,光会语法是不够的,编程总是要带入到具体的工作中, 如果没有具体的使用场景,学再多的语法是没什么用的。

我还准备了很多学习技巧和面试套路,基本都可以在文本名片 九柄 获取,顺便三连哦。

很多自学 Python 的人,看了很多教程,但最终还是不会用,不敢用,其中的原因就是没有根据实用性学习,总以为知识学得越多越好。
实际上,很多语法根本就没必要学,因为你这辈子都用不到,而像注释这样的语法,虽然很简单,但是要用好,也不一定容易。

Python自学教程2:大牛们怎么写注释的更多相关文章

  1. Python自学教程8-数据类型有哪些注意事项

    不知不觉,python自学教程已经更新到第八篇了,再有几篇,基本的语法就介绍完了. 今天来总结一下数据类型有哪些需要注意的地方. 元组注意事项 元组是另一种经常使用到的数据类型,看上去和列表差不多.它 ...

  2. Python自学教程1-安装pycharm和执行环境

    Python虽然简单,但是很多没有接触过的学起来还是比较困难的.因此很多人会报班去学,我觉得不需要花那个钱,只要方向正确,加上核心知识点的提炼,自学一个月左右就能上手. 我尝试写下这个自学教程,只讨论 ...

  3. Python自学教程5-字符串有哪些常用操作

    任何编程语言,不管是Python.Java 还是 Golang, 字符串都是最重要的一种数据类型. 但是字符串的操作又很多,初学者经常毫无头绪,不知道从哪儿学起,也不知道哪些操作用得多,今天九柄就和你 ...

  4. Python自学教程12-类和对象怎么用

    Python是一门现代化的编程语言,也是一门面向对象的编程语言. 现代编程语言几乎都支持面向对象编程,面向对象编程是最有效的软件编写方法之一.你可以用类和对象来表示现实当中的任何的事物和行为. 编写类 ...

  5. Python自学教程7:字典类型有什么用

    字典是Python中的一个重要操作,如果字典玩得顺,很多其他的数据类型就可以一通百通. Python字典的定义 字典使用一对大括号进行定义,键值对之间使用逗号隔开,键和值使用冒号分隔. 键必须是不可变 ...

  6. 孤荷凌寒自学python第七十五天开始写Python的第一个爬虫5

    孤荷凌寒自学python第七十五天开始写Python的第一个爬虫5 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 直接上代码.详细过程见文末屏幕录像 ...

  7. 孤荷凌寒自学python第七十四天开始写Python的第一个爬虫4

    孤荷凌寒自学python第七十四天开始写Python的第一个爬虫4 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 直接上代码.详细过程见文末屏幕录像 ...

  8. Python学习教程(一)自学资源分享

    Python 可以用来做什么? 在我看来,基本上可以不负责任地认为,Python 可以做任何事情.无论是从入门级选手到专业级选手都在做的爬虫,还是Web 程序开发.桌面程序开发还是科学计算.图像处理, ...

  9. Python快速教程 尾声

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 写了将近两年的Python快速教程,终于大概成形.这一系列文章,包括Python基 ...

随机推荐

  1. 2020.12.12【NOIP提高B组】模拟 总结

    第一次来 B 组做,虚的很 T1: 容斥原理 比赛时也打了个大致,但挂了,只有 50 分. 赛后重构了一下代码,AC \(UPDATE:2020/12/13\ \ \ 14:10\) 思路: 像前缀和 ...

  2. ExtJS 布局-Accordion布局(Accordion layout)

    更新记录: 2022年6月2日 开始. 2022年6月3日 发布. 1.说明 accordion(手风琴)布局一次仅显示一个子组件,内置支持 折叠 和 展开.当需要堆叠多个子组件,并每次只显示一次时, ...

  3. 6.文本三剑客之sed

    文本三剑客之sed 目录 文本三剑客之sed sed编辑器 sed概述 sed工作流程 sed用法 sed打印 sed删除 sed替换 sed增加行内容 sed剪切粘贴与复制粘贴 sed字符/字符串交 ...

  4. 开启网易邮箱客户端授权码-POP/SMTP/IMAP

    打开网易邮箱首页 https://mail.163.com/ 登录邮箱. 点击上方设置,选择POP/SMTP/IMAP选项. 选择开启对应的协议,IMAP或者POP3分别为不同的收信协议 在新弹出的弹 ...

  5. python新建一个目录

    源码部分 import os # 创建目录 def mkdir(path): isExists = os.path.exists(path) if not isExists: os.makedirs( ...

  6. 一文精通HashMap灵魂七问,你学还是不学

    如果让你看一篇文章,就可以精通HashMap,成为硬刚才面试官的高手,你学还是不学? 别着急,开始之前不如先尝试回来下面几个问题吧: HashMap的底层结构是什么? 什么时候HashMap中的链表会 ...

  7. gitlab备份迁移与升级

    升级计划: https://docs.gitlab.com/ee/update/index.html#upgrade-paths 1. 安装gitlab(和源版本必须保持一致) wget https: ...

  8. 【前端面试】(二)JavaScript加法运算

    视频链接:JavaScript加法运算 - Web前端工程师面试题讲解 数值 + 数值 首先看菜鸟教程有关于数值对象的教程 JavaScript Number 对象 可以知道Infinity , -I ...

  9. NC16692 [NOIP2001]求先序排列

    NC16692 [NOIP2001]求先序排列 题目 题目描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度 ≤ 8). 输入描述 2行,均为大写字母组成的 ...

  10. NC204859 组队

    NC204859 组队 题目 题目描述 你的团队中有 \(n\) 个人,每个人有一个能力值 \(a_i\),现在需要选择若干个人组成一个团队去参加比赛,由于比赛的规则限制,一个团队里面任意两个人能力的 ...