善用注释是编程高手的基本素养。
Python中的注释语句,在程序执行的过程中是不会被计算机执行的;换而言之,注释语句对程序一般是没有任何影响的。如下所示,井号#
之后(包括井号本身)都是注释语句。
# init a = "zhuan" b = "fou" # output print a # will output 'zhuan' print b # will output 'fou'
为啥要注释呢?当然是为了显示出自己是编程圣手……啧啧,说笑的;注释主要是为了增加代码的可读性,不仅仅为了别人阅读代码时更加领会代码的逻辑思想;更是为了自己阅读代码更加方便,否则隔了一段时间后,自己写的代码自己也会难以阅读理解;同时在写代码的过程中,注释也有助于自己理清写代码的思路。
Python中使用井号#
来构建当行注释语句,只要是井号后面的,包括井号本身,都属于注释;注释是不会被程序运行的。(# coding=utf-8
这类属于声明性注释,此句是对脚本编码格式进行声明,此外不会对程序有影响。)
# coding=utf-8 # 这是一句注释 a = "zhuan" # 这也是一句注释 b = "fou" # 这也是一句注释 for i in xrange(2): # 这也是一句注释 print a, b # 这还是一句注释
注释内容和井号之间留一个空格,看上去会美观很多,请形成这个习惯;养成良好的编程习惯会受益终身的。
Python中可以通过首尾各三个引号的方式来定义多行注释;多行注释一般用于构建类时对每一种类方法进行注释;也可以通过多行注释对函数进行注释描述。示例如下:
# coding=utf-8 ''' 这里是一段多行注释 这里的注释可用来对work函数进行详细描述 首尾的三个引号是英文输入法下的引号 可别用中文输入法下的引号 那就叫搞事,会报错的 ''' def work(): print "星宿老仙" print "法力无边" # 计数循环3次 for i in xrange(3): work() # 调用work函数
从上面的例子可以看出,适当多余的空行也是一种增加代码可读性与逻辑性的手段。
写代码时,自定义变量名称、函数名称、类名称也要考虑代码的可读性与逻辑性。曾经有个小孩,他小时候写代码很有风格,同学一看就知道是他写的代码,因为他的函数或变量名总是喜欢用fuck这个词,如果1个fuck不够用,他的代码中还会出现fuck1、fuck2、fuck3,后来这个小孩长大了,潜移默化中这个不良习惯进入了他的骨子里。
反面案例:
fuck = { "Jack": 59, "Daisy": 100, "Cora":100 } fuck1 = "Jack" fuck2 = "Dasiy" fuck3 = "Cora" fff1 = fuck[ fuck1 ] fff2 = fuck[ fuck2 ] fff3 = fuck[ fuck3 ]
正面案例:
score_dict = { "Jack": 59, "Daisy": 100, "Cora":100 } name1 = "Jack" name2 = "Dasiy" name3 = "Cora" score1 = score_dict[ name1 ] score2 = score_dict[ name2 ] score3 = score_dict[ name3 ]
上述的正面案例里,score_dict的score暗示这个变量存储的与分数有关,dict在暗示这是一个字典类型变量;name1暗示这是某个人的名字;score1暗示这是name1这个人的分数。在自定义变量名称、函数名称、类名称时,暗示出该对象所内涵的意义,这样就可以大大增加代码的逻辑性与可读性。这是一个高手的素养。