你真的懂Python命名吗

北京中科白殿疯怎么走 http://m.39.net/pf/a_4364572.html

大家好,我是测试蔡坨坨。

今天,我们来聊一下Python命名那些事儿。

名为万物之始,万物始于无名,道生一,一生二,二生三,三生万物。

“怎么给变量命名?”看似是一个非常基础的内容,但还是有很多人在这个部分有一点迷茫。

命名常常被认为是编程中的细节问题,其重要性往往被低估。而所谓的工匠精神,往往体现在细节之处。

程序员在工作中有80%的时间都在阅读和理解代码,好的命名可以提高代码的可读性和表达力,词不达意的命名则会让人摸不着头脑,增加不必要的思维开销。

学好Python,从变量命名开始。

合法的变量名

什么是合法的变量名?

所谓合法的变量名就是Python解释器能够认识的变量名。

也是在编码过程中必须遵循的规则,假设不遵守规则,程序就会报错。

在Python中,一个合法的变量名是由字母、下划线和数字组成,并且第一个字符不能为数字。

在Python3中,对字母的定义其实是广义的,你可以写一个中文的变量名,也就是说你可以认为中文的这个字也算一种字母,但是一般来说不推荐使用中文变量名,因为有时候可能会由于一些编码的原因产生一些莫名其妙的bug。

1caituotuo_="测试蔡坨坨"#√2#caituotuo_="测试蔡坨坨"#×数字开头不合法3蔡坨坨="测试蔡坨坨"#√不推荐好的变量名

合法的变量名显然给了我们很大的操作空间,我们可以给变量取各式各样、千奇百怪的名字。

什么是好的变量名?

好的变量名是一种命名规范,虽然不遵循命名规范,程序仍然可以运行,但是使用命名规范可以更加直观地了解代码所代表的含义,因此和Python开发人员用同一套命名系统就显得很重要。

我们可以从内容和形式上判断一个变量名的好坏。

内容

从内容的角度就是这个变量名传递了多少有效信息,是否是一个有意义的变量名。有意义的变量名可以达到代码即文档的效果,有较高的可读性,不需要借助注释和文档,代码本身就能显性地表达开发者的意图。

例如以下三个变量:

1n="测试蔡坨坨"2name="测试蔡坨坨"3username="测试蔡坨坨"

三个变量都代表用户名

相对于name,明显username传递出来的有效信息更多

当你的变量名包含的有效信息够多的时候就是一个好的变量名

但是,是不是有效信息越多越好,显然并不是,我们还需要在有效信息和变量名长度上做取舍(这二者之间的平衡取决于项目本身和经验积累),不应该为了展示更多的信息把变量名整的无限长,并不是一寸长一寸强,例如下面这个变量名就显得过长了

1student_system_login_username="测试蔡坨坨"形式

在编码过程中,一个变量名有时候需要用到两个及以上的单词,当这些单词挤在一起时,我们很难去分清谁是谁。所以在形式上我们又有四种不同的变量名写法:

1lower_underscore="测试蔡坨坨"2UPPER_UNDERSCORE="测试蔡坨坨"3CamelCase="测试蔡坨坨"4mixedCase="测试蔡坨坨"

lower_underscore:小写字母跟下划线

UPPER_UNDERSCORE:大写字母跟下划线

CamelCase:驼峰命名中的大驼峰,通过首字母大写的方式来区别单词

mixedCase:驼峰命名中的小驼峰,与大驼峰的区别就是第一个字母为小写

推荐的变量名什么是被推荐的变量名?

NamingConvention命名规范

在PEP8里面就有比较详细的描述,原文


转载请注明:http://www.aierlanlan.com/cyrz/244.html