函数/变量用snake_case,类用CamelCase,常量用UPPER_CASE。 这句话是什么意思?

函数/变量用snake_case,类用CamelCase,常量用UPPER_CASE。 这句话是什么意思?
最新回答
时间曼妙

2026-02-09 14:32:12

这句话是Python代码风格指南(PEP 8)中关于命名规范的建议,旨在通过统一的命名方式提高代码可读性和一致性。以下是具体解释和示例:

1. 函数/变量用snake_case
  • 含义:函数名和变量名应使用全小写字母,单词间以下划线(_)分隔。
  • 用途:增强可读性,避免动态语言中因命名模糊导致的错误。
  • 示例:def calculate_moving_average(stock_data, window_size=20): return stock_data.rolling(window=window_size).mean()current_price = 100.5 # 变量名使用snake_case
2. 类用CamelCase
  • 含义:类名采用驼峰式(每个单词首字母大写,无分隔符),也称PascalCase。
  • 用途:突出类的“实体”性质,与函数/变量形成视觉区分。
  • 示例:class MovingAverageStrategy: def __init__(self, short_window, long_window): self.short_window = short_window self.long_window = long_window def generate_signals(self, data): pass

    MovingAverageStrategy 是类名,首字母大写。

3. 常量用UPPER_CASE
  • 含义:常量名使用全大写字母,单词间以下划线分隔。
  • 用途:视觉上标记不可变值,提醒开发者避免修改。
  • 示例:MAX_POSITION_SIZE = 1000 # 最大持仓量常量API_ENDPOINT = '
    https://dict.thinktrader.net/nativeApi/xtdata.html'
关键意义
  • 区分代码元素:通过命名快速识别变量、类或常量(如 current_price vs MovingAverageStrategy vs MAX_POSITION_SIZE)。
  • 量化场景应用:在策略开发中,清晰的命名能减少混淆(例如区分策略函数 calculate_moving_average 和数据类 StockData)。
实践建议
  1. 工具检查:使用 flake8 或 pylint 自动检测命名规范:flake8 your_file.py
  2. 团队协作:遵循PEP 8可降低协作成本,尤其在XtQuant等量化项目中。
  3. 命名一致性:避免在MySQL查询等场景中因命名风格混淆变量和常量。
总结

PEP 8的命名规范虽非强制,但遵循它能显著提升代码质量,尤其在复杂项目中。通过蛇形、驼峰和全大写命名,开发者可以更高效地阅读和维护代码。