摘录
Python使用snake_case命名规范,而不是camelCase,这是因为它易读,与PEP8风格指南一致,并且被广泛采用。
Python在变量、函数、模块和其他标识符的命名中有着强烈的文化倾向,即使用snake_case
作为标准命名规范。但为什么这种小写加下划线的格式优于像CamelCase这样的替代方案呢?在本文中,我们将探讨Python在使用snake_case背后的历史和理由。
什么是蛇形命名法?
蛇形命名法(也称为下划线命名法)是一种命名风格,其中每个单词之间用下划线(_
)分隔。例如:
1my_variable
2some_function()
这与在Java等语言中使用的驼峰命名法不同,后者将单词连接在一起而不使用分隔符。
蛇形命名法在Python中的起源
蛇形命名法的使用可以追溯到Python在1990年代的早期。最初的Python代码库广泛使用了这种风格,很可能受到了C和Perl等语言的影响,这些语言也使用了下划线。
Python的创始人Guido van Rossum喜欢蛇形命名法,因为它易读性强。在单词之间有视觉分隔使得标识符在一瞥间更容易解析。因此,这个风格被沿用并在随后的许多Python库和框架中传播开来。
蛇形命名法的优势
除了历史和先例之外,使用蛇形命名法进行命名具有以下几个优势:
可读性 - 下划线在标识符中视觉上分隔了单词,使得在阅读代码时更容易快速解析。
PEP8一致性 - 根据Python PEP8风格指南,蛇形命名法是推荐的命名约定。使用它可以提高与这个广泛使用的风格指南的一致性。
区分度 - 蛇形命名法使得Python与更常用的使用驼峰命名法的Java和JavaScript等语言区分开来。这有助于保持Python的独特性。
您可以在网上轻松地将文本转换为蛇形命名法。
广泛采用蛇形命名法
鉴于上述优点,蛇形命名法被广泛使用:
Python标准库在其所有模块和函数名称中都使用蛇形命名法
Django和Flask等主要框架也遵循这一约定
大多数开源Python软件包都遵循蛇形命名法作为事实标准
这种广泛采用使蛇形命名法成为大多数Python开发人员预期和首选的风格。
蛇形命名法示例
以下是Python中一些良好的蛇形命名标识符示例:
1user_id = 453
2
3def get_user_name():
4 ...
5
6module_name = 'sys'
您可以使用此在线转换工具验证蛇形命名。
像驼峰命名法这样的替代方法
尽管蛇形命名法占主导地位,但某些Python软件包确实使用驼峰命名法,特别是类名。例如:
1itertools.chain()
2
3json.JSONDecodeError
但总体而言,驼峰命名法很少见,而且将其用于变量和函数等内容可能会影响可读性。
转换命名的工具
如果您需要在不同风格之间转换名称,可以使用诸如pygram之类的库进行编程转换。还有一些在线工具,例如此蛇形命名转换器,可用于快速进行一次性转换。
总结
总之,由于其可读性,Python早期采用了蛇形命名法,并且这种风格仍然是标准约定。遵循蛇形命名法可以提高PEP8的一致性,并与更广泛的社区对该语言的使用方式相匹配。尽管存在其他选择,但蛇形命名法仍然是Python代码中占主导地位且首选的命名方法。