[Python学习日记-5] Python中的注释
简介
注释的示例和使用说明
代码注释原则
简介
随着学习的深入。用不了多久,你就可以写上千甚至上万行的复杂代码啦,有些代码你花了很久写出来,但过了些天再回去看,发现竟然看不懂了,这是个再正常不过的了。另外,你以后在工作中合发现,一个项目多是由几个甚至几十个开发人员一起做,你要调用别人写的代码,别人也要用你的,如果代码不加注释,你自己都看不懂,更别说别人了,这样写会挨打的。所以为了避免这种尴尬的事情发生,一定要增加你代码的可读性。
代码注释分单行和多行注释,单行注释用 #,多行注释可以用三对双引号 """ """
注释的示例和使用说明
一、示例
首先要说明的一点是,注释在代码当中是不执行的,只是作为解释放在代码中,解释器看到注释符号后会直接跳过,所以说千万不要把有用的代码放到里面去,如果放到里面去解释器是会直接跳过的。下面看一段标准代码的注释,这是一段 print() 方法的源代码,请忽略代码的意思,本篇只讲述 Python 中注释的用法
def __import__(A_B, *more): # real signature unknown; restored from __doc__"""Import a module.Because this function is meant for use by the Pythoninterpreter and not for general use, it is better to useimportlib.import_module() to programmatically import a module.The globals argument is only used to determine the context;they are not modified. The locals argument is unused. The fromlistshould be a list of names to emulate ``from name import ...``, or anempty list to emulate ``import name``.When importing a module from a package, note that __import__('A.B', ...)returns package A when fromlist is empty, but its submodule B whenfromlist is not empty. The level argument is used to determine whether toperform absolute or relative imports: 0 is absolute, while a positive numberis the number of parent directories to search relative to the current module."""pass# classesclass __generator(object):'''A mock class representing the generator function type.'''def __init__(self):self.gi_code = Noneself.gi_frame = Noneself.gi_running = 0def __iter__(self):'''Defined to support iteration over container.'''passdef __next__(self):'''Return the next item from the container.'''passdef close(self):'''Raises new GeneratorExit exception inside the generator to terminate the iteration.'''passdef send(self, value):'''Resumes the generator and "sends" a value that becomes the result of the current yield-expression.'''passdef throw(self, type, value=None, traceback=None):'''Used to raise an exception inside the generator.'''pass
这一段代码是由编程大佬写的,其中包含了很多其他方法的调用和本方法的接口,而这些调用和接口都有明确的注释,其中包含了单行注释(#)和多行注释(""" """),在编写一个方法前最好的习惯是先写清楚接下来这段代码是干什么用的,也可以把你的思路写在上面,方便你再次需要修改时或者接手你代码的人理解,我们学习编程一定要学习标准化规范化的编程方法,不能只想着能用就行,这样下去只会成为一个业余程序员,并不会成为编程大佬。所以说连编程大佬都要认认真真的做注释,作为一个刚入门的小白有什么理由不乖乖做注释呢?
二、使用说明
下面来说说单行注释和多行注释的具体用法
单行注释(#):
# 单行注释比较适合标记一些比较简单的描述,如下所示
a = 22 # a 是jove的年龄
b = 13 # b 是工作时常
if a > 0 & a <= 10:print(a)
else:print(b)
多行注释(""" """):
# 单行注释比较适合标记一些比较简单的描述,如下所示
a = 22 # a 是jove的年龄
b = 13 # b 是工作时常
if a > 0 & a <= 10:print(a)
else:print(b)"""
这个时候如果需要描述的内容有点多,一行装不下,
或者是一行会超出屏幕很多,
那么我们就会使用多行注释。
这样读代码的人的可读性也会高很多,
当然如果你和你的老板不和,而你又即将离职,可以把你的不满藏在代码里
"""
注:
1、三个单引号(''' ''')也可以作为注释,但是这并不是官方推荐,所以这里不多做介绍
2、无论是单行注释,还是多行注释,一定需要使用英文的输入法,中文输入在计算机看来并不是单纯的一个符号
三、注释的官方写法
1、当你要输入单行注释(#)前有代码需要使用 Tab 键或输入4个空格来隔开
只隔开了1个空格的情况,会有黄色波浪线,这是提示
使用4个空格来隔开的情况
使用 Tab 键隔开的情况
2、单行注释(#)符号需要与注释内容隔开1个空格
没有与注释内容隔开1个空格
隔开超过1个空格也是不符合官方标准的
只隔开1个空格
3、多行注释(""" """)自由度相对高一点,推荐的用法是前面的三个双引号和后面的三个双引号单独占一行,这样一看就可以看出是多行的注释,以后加注释也会相当方便
不过千万不能让多行注释跟在代码后面,这样会报错。
四、注释快捷键
如果觉得逐行逐行的加 # 号太麻烦的话可以使用 Ctrl+? 来快速把选中行进行注释,如果想要取消这些注释只需要重新选中需要取消注释的行然后再使用一次 Ctrl+? 即可,Ctrl+? 使用的是单行注释,如果想要使用多行注释的话只需要在前后各加上三个双引号即可
代码注释原则
- 不用给全部代码加注释,只需要在自己觉得重要或不好理解的部分加注释即可
- 注释可以用中文或英文,但绝对不要用拼音,读的人会想死的
- 注释不光要给自己看,还要给别人看,所以请认真写