Python开发技术详解2.2.1 命名规则_Python开发技术详解2.2.1 命名规则试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > web > Python开发技术详解 > 2.2.1 命名规则

Python开发技术详解——2.2.1 命名规则

    2.2  Python的编码规则     Python语言有自己独特的编码规则,包括命名规则、代码书写规则等。本节将详细介绍Python中常用的规则,并解释这些规则的原理和由来。     2.2.1  命名规则     Python语言有一套自己的命名规则,用户也可以借鉴Java语言的命名规则以形成自己编码的规则。命名规则并不是规定,只是一种习惯用法。变量名的首字符必须是字母或下划线,首字符之外的字符可以由字母、数字或下划线组成,并且不能使用Python的保留字。下面介绍几种常见的规则。     1.变量名、包名、模块名     变量名通常由字母和下划线组成,包名、模块名通常用小写字母,如【例2-1】所示。     【例2-1】演示变量名、包名、模块名的规范写法。     # 变量、模块名的命名规则     # Filename: ruleModule.py     _rule = "rule information"     第1行代码是程序代码的注释,关于Python语言的注释请参见2.2.5节。     第2行代码也是程序的注释,用于声明模块的名称,模块名用小写字母。也可以不指定模块名,以py后缀的文件就是一个模块。模块名就是文件名。     第4行代码定义了一个全局变量_rule。     2.类名、对象名     类名首字母用大写,其他字母采用小写。对象名用小写字母。类的属性和方法名以对象作为前缀,对象通过操作符“.”访问属性和方法。类的私有变量、私有方法以两个下划线作为前缀。如【例2-2】所示。     【例2-2】演示类的定义和实例化的规范写法。     class Student:# 类名用大写字母     __name = ""# 私有实例变量前必须有两个下划线     def __init__(self, name):     self.__name = name# self相当于Java中的this     def getName(self):# 方法名首字母用小写,其后每个单词的首字母用大写     return self.__name     if __name__ == "__main__":     student = Student("borphi")# 对象名用小写字母     printstudent.getName()     第1行代码定义了一个名为Student的类,类名首字母大写。     第2行代码定义了一个私有的实例变量,变量名前有两个下划线。     第4行代码使用self前缀说明__name变量属于Student类。     第5行代码定义了一个公有的方法,方法名首字母小写,其后的单词“Name”首字母大写。函数的命名规则与此相同。     第9行代码创建了一个student对象,对象名小写。     说明关于面向对象的编程知识将在第8章详细介绍,读者此时只要知道类、对象、属性以及方法的书写方式即可。     3.函数名     函数名通常采用小写,并用下划线或单词首字母大写来增加名称的可读性,导入的函数以模块名作为前缀。为了演示导入函数前缀的写法,下面使用了生成随机数的模块random。该模块有一个函数randrange()。该函数可以根据给定的数字范围生成随机数。randrange()的声明如下所示:     randrange(start, stop[, step])     参数start表示生成随机数所在范围的开始数字。     参数stop表示生成随机数所在范围的结束数字,但不包括数字stop。     参数step表示从start开始往后的步数。生成的随机数在[start,stop - 1]的范围内,取值等于start + step。     例如:     randrange(1, 9, 2)     随机数的范围在1、3、5、7之间取得。     【例2-3】演示函数的规范写法,其中定义了一个函数compareNum(),该函数用于比较两个数字的大小,并返回对应的结果。     # 函数中的命名规则     import random     def compareNum(num1, num2):     if(num1 > num2):     return 1     elif(num1 == num2):     return 0     else:     return -1     num1 = random.randrange(1, 9)     num2 = random.randrange(1, 9)     print "num1 =", num1     print "num2 =", num2     print compareNum(num1, num2)     第2行代码导入了random模块。     第4行代码定义了一个函数compareNum(),参数num1、num2为待比较的两个变量。     第5行到第10行代码比较两个数的大小,根据比较结果返回不同的结果。     第11行、第12行代码调用random模块的randrange()返回两个随机数。     第13行、第14行代码输出随机数,不同的机器、不同的执行时间得到的随机数均不相同。     第15行代码调用compareNum(),并把产生的两个随机数作为参数传入。     良好的命名习惯可以提高编程效率,使代码阅读者在不了解文档的情况下,也能理解代码的内容。     下面以变量的命名为例,说明如何定义有母实际含义的名称。许多程序员对变量的命名带有随意性,如使用i、j、k等单个字母。代码阅读者并不知道这些变量的实际含义,需要阅读文档或仔细查看源代码才能了解其含义。     【例2-4】演示变量命名不规范的写法。     # 不规范的变量命名写法     sum = 0     i = 2000     j = 1200     sum = i + 12 * j     这段代码定义了一个求和变量sum,以及两个变量i、j。如果只看代码片段,并不知道该运算的含义是什么,需要通读整个函数或功能模块才能理解此处各个变量的含义。     【例2-5】演示符合命名规则的写法。     # 规范的变量命名写法     sumPay = 0     bonusOfYear = 2000     monthPay = 1200     sumPay = bonusOfYear + 12 * monthPay     bonusOfYear表示年终奖金、monthPay表示月薪,因此sumPay表示全年的薪水。使变量的名字有实际含义可以节省阅读程序的时间,能更快地理解程序的含义。     注意变量的命名应尽可能的表达此变量的作用,尽量避免使用缩写,以便使任何人都能理解变量名的含义。不要过多的担心变量名的长度,长的变量名往往能更表达清楚该变量的作用。     以上讨论的命名方式同样适用于模块名、类名、方法名、属性名等。遵守命名规则会带来很多好处。统一的命名规则便于程序开发团队合作开发同一个项目;便于统一代码的风格,理解不同程序员编写的代码;命名规范的变量名可以使程序代码更容易被理解;避免项目中随意命名变量的情况,促进程序员之间的交流。规则并不是绝对的,统一规则、表达清楚名称的含义才是制定规则的目的。

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《Python开发技术详解》其他试读目录

• 1.1 Python简介
• 1.2 Python的特征
• 1.3 第一个Python程序
• 1.4 搭建开发环境
• 1.5 Python的开发工具
• 1.6 不同平台下的Python
• 1.7 小结
• 2.1 Python的文件类型
• 2.2.1 命名规则 [当前]
• 2.2.2 代码缩进与冒号