Python命名规范

 

Python 标识符

参见:https://docs.python.org/3/reference/lexical_analysis.html?highlight=identifier#identifiershtml

在python里,标识符有字母、数字、下划线组成,而且不能使用Python中的保留字。java

在python中,全部标识符能够包括英文、数字以及下划线(_),但不能以数字开头。python

python中的标识符是区分大小写的。dom

如下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的表明不能直接访问的类属性,需经过类提供的接口进行访问,不能用"from xxx import *"而导入;ide

以双下划线开头的(__foo)表明类的私有成员;以双下划线开头和结尾的(__foo__)表明python里特殊方法专用的标识,如__init__()表明类的构造函数。函数

Python保留字符

下面的列表显示了在Python中的保留字。这些保留字不能用做常数或变数,或任何其余标识符名称。this

首先在命令行先看一下Python有哪些保留字。spa

 

1 import keyword
2 keyword.kwlist

 

输出:['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']命令行

保留字 说明 保留字 说明
False

The false value of the bool type。内置常量 bool类型falsecode

global

 定义全局变量
None 内置常量表示没有 if  条件语句,与else、elif结合使用
True The true value of the bool type。内置常量bool类型true import  用于导入模块,与from结合使用
and 用于表达式运算,逻辑与操做 in  判断变量是否在序列中
as 用于类型转换 is 判断变量是否为某个类的实例 
assert 断言,用于判断变量或者条件表达式的值是否为真 lambda  定义匿名行数
break 中断循环语句的执行 nonlocal  用来在函数或其余做用域中使用外层(非全局)变量
class 用于定义类 not 表达式运算,逻辑非操做 
continue 结束本次循环继续下一次循环 or  表达式运算,逻辑或操做
def 定义函数或方法 pass  空的类、方法或者函数的占位符
elif 条件控制语句,与if、else结合使用 raise 异常抛操做 
esle 条件控制语句,与if、elif结合使用 return 从函数返回计算结果 
except except包含异常捕获后的操做代码块与try、finally结合使用 try  包含可能会出现的代码块,与except、finally结合使用
finally 用于异常语句,异常捕获后,始终要执行finally包含的代码块,与try、except结合使用 while  while循环
for for循环语句 with 简化Python的语句 
from 用于导入模块,与import结合使用 yield 从函数依次返回值 

 

 

命名

参见:https://www.python.org/dev/peps/pep-0008/

尽可能避免使用难区分的字母"l"、"o"数字"1"、"0"。

1.变量名、包名、模块名

 变量名一般由字母、数字、下划线组成,以字母或下划线开头,包名、模块名一般采用简短的小写字母,提升可读性模块名中也能够包含下划线,包命中不推荐使用下划线。

#Filename:rulemodle.py

_rule = "rule information"

 第一行是程序注释行,用于声明模块的名称,模块名用小写字母,也能够不指定模块名称,以.py后缀的文件就是一个模块,文件名就是模块名。

2.类名、对象名

类名首字母大写,其余字母采用小写。对象名用小写字母。内部使用的类在类名前加单下划线。

类的属性和方法名以对象做为前缀,对象经过操做符"."访问属性和方法。类的私有变量和私有方法以两个下划线做为前缀。

 class Student:    #类名,首字母大写
     __name = ''   #私有变量,以__开头 
     def __init__(self,name):   #self至关于java中的this 
         self.__name = name
     def getName(self):
         return self.__name
 if __name__ =="__main__":
     student = Student("zhaowei")  #对象名,小写字母 
     print(student.getName())

3.函数名

函数名一般采用小写,必要时使用下划线区分单词以提升可读性。

mixedCase(首字母小写,后面以单词首字母大写分割单词)只适用于保持风格以及向下兼容。

导入的函数以模块名做为前缀。

import random  #导入模块
def compareNum(num1,num2):  #定义函数
    if(num1 > num2):
        print("num1 : %d > num2 : %d"%(num1,num2))
    elif(num1 == num2):
        print("num1 : %d == num2 : %d"%(num1,num2))
    else:
        print("num1 : %d < num2 : %d"%(num1,num2))
num1 = random.randrange(1,9)  #调用模块的函数
num2 = random.randrange(1,9)
compareNum(num1,num2)

4.异常名

由于异常也是类,因此类的命名习惯在这里也适用。不一样的是,若是异常其实是个错误,则须要在异常名字的后面使用Error后缀

5.全局变量名

全局变量名咱们假设这些变量都是在模块内部使用的。命名所遵循的规则跟函数的命名规则基本相同。

相关文章
相关标签/搜索