python变量命名规则与规范(约定)

引子

前些日子,大大的一位友友问了我一个问题,表示了对命名规范的不解。确实如此关于命名规范有一套相对严谨而复杂的理论,大大在此特就python的变量(以及函数和对象)命名规则与规范进行讲述。

规则

规则很简单,我在此也就写在前面,并且一笔带过,相信在看的朋友也不会有疑问。

python变量必须由数字、字母、下划线(0-9a-zA-Z_)组成,严格区分大小写。

规范

性质与意义

在此为了分清规则与规范的区别,特别需要指出规则的性质。规则简洁明了,命名正确与否由编译器检查,也就是说,如果命名不符合规则,代码是跑不起来的。规则则不同,我将它概括为“程序员的自我规范”,它属于一种自我意识或者说自觉,不符合规范的程序运行起来依然没有任何问题。

那么我们就需要提到命名规范的意义了。命名规范有两方面的意义:一、使变量意义一目了然;二、表面变量的用途。这些会在后面提到;三、程序员之间的交流,良好的代码习惯有利于团队合作。

声明

命名规范实际并不统一,有时也不必过度纠结规范,保留其本质的用途即可,在一些细节上存在偏差,如果作者有什么遗漏或者错误,可以在评论区留言。

驼峰写法与下划线写法

这两种写法根据习惯选一即可,它的意义便是使变量意义一目了然。

下划线写法:所有字母小写,特殊缩写词汇可大写,所有单词之间使用下划线连接,如:is_ascii,get_abs_save_path()。

驼峰写法:首字母小写,之后每个单词首字母大写连接,如:isAscii,getAbsSavePath()。

根据习惯python变量常使用下划线写法。如果你先前习惯于驼峰写法,保留使用也无妨。

根据变量的用途

全局变量以及函数参数:标准下划线写法或者使用驼峰写法。

局部变量:以下划线开始,用来区分于全局变量,避免与外部变量冲突、混淆。如:_filepath。在对象中用作隐藏属性或行为。

系统变量:以双下划线开始,如:__name__,__hash__()。在对象中用作受保护属性或行为,拒绝外部调用。

常量:全大写下划线写法,python并没有真正意义上的常量,而是使用一个永远不被赋值的变量代替,常量的特殊写法在python中尤其重要。

函数:标准下划线写法。

对象:首字母大写的驼峰写法。

特殊习惯

一、使用“2”代替“to”,用的是谐音,不仅数字“2”在变量中尤其显眼,而且省略了两条下划线,使用非常普遍。

二、使用“7”代替“and”,因为数字“7”在键盘的Shift位是“&”,与“2”效果类同,使用较少。

三、散装英语,如果你某天你遇到了看不懂的变量,试试拼词或者找到形式高度相似的变量类比,事实上它很常见简洁并且好用。

四、拼音,这单词我不认识?它可能是个拼音。

五、中文,在规则中没有提到,python另外支持非ASCII码最为变量组成部分,可以使用中文做为变量名,但是这显得太不专业并且出于中文输入法的低效极少数人使用。

放在最后

以上就是全部内容,还要提醒在看的小白们千万不要吝啬变量的长度,IDE都支持代码补全,不会因此多大几个字,20字符的变量都是正常的。

 

 

你可能感兴趣的:(Python,python)