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

注释有什么用?

注释(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. CNN Training Loop Refactoring Simultaneous Hyperameter Testing

    上例中, 尝试两个不同的值 为此: alt+shift可以有多个光标,再jupyter notebook中. alt+d,alt+shift,ctrl+鼠标左键多点几个,都可以同时选择多个目标,并进行 ...

  2. python和numpy中sum()函数的异同

    转载:https://blog.csdn.net/amuchena/article/details/89060798和https://www.runoob.com/python/python-func ...

  3. python爬虫之企某科技JS逆向

    python爬虫简单js逆向案例在学习时需要用到数据,学习了python爬虫知识,但是在用爬虫程序的时候就遇到了问题.具体如下,在查看请求数据时发现返回的数据是加密的信息,现将处理过程记录如下,以便大 ...

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

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

  5. C#.NET中的程序集版本

    更新记录 2022年4月16日:本文迁移自Panda666原博客,原发布时间:2021年8月22日. 在Visual Studio中查看程序集版本 在程序运行中获得程序集版本信息 除了在Visual ...

  6. 《Java基础——IO流》

    Java基础--IO流       一.字节流:   1.输入流 (InputStream) 规则: 此处用于读取txt文件中的内容.   代码: import java.io.*; public c ...

  7. Python 用configparser读写ini文件

    一.configparser 简介Python用于读写ini文件的一个官方标准库.具体详见官网链接 二.configparser 部分方法介绍 方法 描述 read(filenames) filesn ...

  8. Http实战之Wireshark抓包分析

    Http实战之Wireshark抓包分析 Http相关的文章网上一搜一大把,所以笔者这一系列的文章不会只陈述一些概念,更多的是通过实战(抓包+代码实现)的方式来跟大家讨论Http协议中的各种细节,帮助 ...

  9. 详细图解 Netty Reactor 启动全流程 | 万字长文 | 多图预警

    本系列Netty源码解析文章基于 4.1.56.Final版本 大家第一眼看到这幅流程图,是不是脑瓜子嗡嗡的呢? 大家先不要惊慌,问题不大,本文笔者的目的就是要让大家清晰的理解这幅流程图,从而深刻的理 ...

  10. Unique -「企划」新生守则(?

    随想随记,主要是整活. 红色贝雷帽大爷会在校园不定期游走,遇见记得打招呼. 面食堂冰沙类饮品请快速解决或者边喝边搅,如果发现饮品甜度骤减请快速前往最近的垃圾桶扔掉. 关于散养猫小黄和小黑. 如果看见小 ...