标签:
参见:https://docs.python.org/3/reference/lexical_analysis.html?highlight=identifier#identifiers
在python里,标识符有字母、数字、下划线组成,并且不能使用Python中的保留字。
在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
python中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用"from xxx import *"而导入;
以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变数,或任何其他标识符名称。
首先在命令行先看一下Python有哪些保留字。
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类型false |
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.全局变量名
全局变量名
我们假设这些变量都是在模块内部使用的。命名所遵循的规则跟函数的命名规则基本相同。
标签:
原文地址:http://www.cnblogs.com/lclq/p/5542902.html