当前位置: 首页 > 后端技术 > Python

为什么Python推荐蛇形命名法?

时间:2023-03-26 15:22:16 Python

关于变量的命名,这又是一个容易引起程序员争论的话题。命名如何才能更易读、易写、清晰?意见不一。本期《WhyPython》专栏,我们就着重从变量命名中的连接方式切入这个是非之处。我们要回答的问题是——为什么Python推荐蛇形命名方式?首先,对于单个字符或单词(例如:a、A、PYTHON、Cat),当它们作为变量名时,大致有全小写、全大写、首字母大写的情况。这些情况在编程语言中出现时,与英语中的表达习惯基本一致。然而,编程语言往往需要使用多个单词或符号,以便在变量名中表达更丰富的含义。英语习惯用空格来分隔单词。但是这种用法在编程语言中会造成一些麻烦,所以程序员们另辟蹊径:snakecaseandcamelcase匈牙利命名法(HNcase)帕斯卡命名法(Pascalcase)脊柱命名法(spinalcase)freenomenclature(studlycaps)humpserpentine命名法一般来说,这些命名法是为了克服词与词之间的空格,从而将不同的词串联起来,最终达到创造一个新“词”的效果。我画了一张思维导图,大致区分了这几种命名法:如果按照受众规模和受欢迎程度来排序,毫无疑问,前两位是驼峰命名法和蛇形命名法。我们可以简单比较一下它们的优缺点:可读性:蛇形命名法使用下划线拉宽字间距,更加清晰易读;驼峰命名法的变量名紧凑,节省行宽,易写:驼峰命名法使用大小写作为区分,不引入额外的标识符;蛇形命名法统一小写,输入相对方便明了:对于一些缩写的专有名词,如HTTP、RGB、DNS等,一般习惯上全部大写表示,但是如果这两个命名法是严格遵守,只有首字母必须大写或全部小写,这会对原意造成一定的“破坏”,有时甚至会让人觉得别扭。如果全部保留大写,IDE可能无法准确识别,反而会出现波浪提示。可以看出,它们各有优缺点,但都不是压倒性的。我个人比较喜欢蛇形命名方式,但是当你需要使用驼峰式命名时(比如写Java的时候),也可以无障碍切换。需要指出的是,Python也推荐使用驼峰命名,即类名、Type变量、异常名的大小写。在包名、模块名、方法名、公共变量名的情况下,建议使用蛇形命名(小写_带下划线)。那么,为什么Python推荐蛇形命名法呢?最大的原因是历史原因。蛇纹石命名法起源于1960年代,甚至还没有一个特定的名称。Python从C语言借用后,命名为“lower_case_with_underscores”,即带下划线的小写名称。直到2000年代初,Intel和Ruby社区中有人开始将其称为“snake_case”,蛇形名称。现在很多编程语言都推荐在某些场景下使用蛇形命名法,而Python是最早这样做的,也是使用场景最多的语言之一。在维基百科上整理了一个列表,可以看出Python对它有偏爱:其次,还有一个重要的原因,就是Python对下划线“_”的独特偏爱。比如类似_xx、__xx、xx_、__xx__等的写法比比皆是,甚至还有下划线_作为变量的特殊情况。这样,下划线作为词与词之间的联系,恰恰是这种传统习惯的一部分。最后还看到了一个解释:因为Python是蟒蛇,当然是以蛇来命名的。。。你怎么看这三个解释?对于蛇的命名法,你喜不喜欢?欢迎留言交流。写在最后:本文属于“WhyPython”系列(Python猫出品),主要关注Python的语法、设计、开发等话题。它以每一个“为什么”的问题为切入点,试图展示Python的魅力。魅力。部分专题会有视频版,请到B站观看,观看地址:视频地址公众号【Python猫】,本号连载优质系列文章,包括WhyPython系列、喵星哲学猫系列、Python进阶系列、好书推荐系列、技术写作、优质英文推荐与翻译等,欢迎关注。