Excerpt
对于惯用的 Python 代码,标准约定是使用下划线和蛇形命名法来命名变量和函数。但在某些情况下如与其他语言集成时,驼峰命名法也可以接受。
在 Python 中应使用下划线还是驼峰命名?
在为 Python 变量和函数命名时,开发人员有两种主要的格式选项 - 下划线(snake_case)或驼峰式命名法(camelCase)。但对于 Python,哪种命名规范是首选呢?本文我们将比较下划线和驼峰命名法的优劣。
简介
首先,让我们定义这两种格式化方法:
- 蛇形命名法(下划线)- example_variable
- 驼峰命名法- exampleVariable
Python 的官方样式指南Pep 8建议为变量和函数使用 snake_case。但你也会看到一些 camelCase,那么哪个更好呢?
Python 中下划线的优点
在变量和函数命名中使用下划线有几个优点:
- 更符合 Python 的编程风格
- 视觉分隔提高了可读性
- 将名称与采用 CapWords 的类区分开
- 跨平台的一致约定
下划线有助于使代码更符合 Python 惯用法。
下划线的缺点
下划线命名的潜在缺点包括:
- 输入长名称时可能会感到笨拙
- 可能难以快速视觉解析
- 不如驼峰命名法简洁紧凑
所以虽然可读性好,但下划线需要更多输入,并且可能出现凌乱。
驼峰命名的优点
驼峰命名具有一些优势,如:
- 自然的大小写映射更熟悉
- 不需要额外符号,输入简洁紧凑
- 在其它语言如 JavaScript 中使用广泛
所以它确实允许密集简洁的变量命名。
驼峰命名的缺点
使用驼峰命名的缺点包括:
- 不是 Python 的常见约定
- 减少单词之间的视觉分隔
- 可能与类名称冲突
它不被认为很“Pythonic”。
自动格式化
像Black这样的工具可以自动格式化 Python 代码。Black 默认强制执行 snake_case 命名。但可以通过配置允许驼峰命名:
1# pyproject.toml
2
3[tool.black]
4skip-string-normalization = true
所以自动格式化器让你强制执行命名风格。
何时使用驼峰命名
在某些情况下,驼峰命名可能是合适的:
- 与其他语言的库交互
- 遵循 Python 库的约定
- 重载默认样式
所以它不完全被禁止,但下划线是强烈推荐的方式。
结论与建议
对于大多数 Python 编码,遵循 snake_case 为变量和函数命名是标准约定和推荐方法。但在与其他语言集成时,驼峰命名有时也被使用。
我的建议是默认使用 snake_case 来符合 Python 惯用法。使用自动格式化器如 Black 来强制执行这一点。只在特别与需要驼峰命名的外部库交互时使用驼峰命名。
命名的一致性确实有助于提高代码的可读性和质量。遵循 Python 的下划线约定,你的未来自己会感激不尽!