Python代码规范

MJX2022/08/03Python代码规范

命名规则

  • 函数、变量和参数名使用小写字母,并用下划线(_)分隔单词。例如:my_function, my_variable_name, my_parameter
  • 类名使用 驼峰命名法:每个单词的首字母都要大写。例如:MyClassName
  • 常量名称使用 全大写字字母, 词之间加下划线来分割。例如:MY_CONSTANT
  • 避免使用单个字符作为变量名称,除非它们是计数器或迭代器。

缩进和空格

  • 使用 4 个空格表示一个缩进。
  • 在二元运算符两边和逗号后面添加一个空格,例如:a = b + clist = [1, 2, 3]
  • 在不同的操作符之间使用空格进行区分,例如:x == 1 and y < 5
  • 尽可能避免在括号内添加空格,但在函数调用时必须在括号内侧添加一个空格。

模块和导入

  • 每个导入应该独占一行
  • 导入语句应该放在文件头部
  • import语句应该按顺序分为三组
    • Python 标准库
    • 第三方库
    • 应用程序自定义和开发的库

例如:

import os
import pandas as pd

import my_module  # 自定义的库

函数

  • 在函数定义之间使用两个空行。
  • 使用 docstrings (三引号)来对每个函数进行适当的文档编写。
  • 函数名称应该简洁且具有描述性,同时应符合变量命名规则。

例如:

def calculate_average(numbers):
    """
    计算数字列表的平均值并返回.
    """
    total = sum(numbers)
    count = len(numbers)
    return total / count

注释

  • 尽量把注释放在代码上面而非右边。
  • 使用文档字符串对模块、函数、类、方法、属性等元素进行文档编写。
  • 使用单行注释(#)为单独一行的注释提供说明,并在句尾使用至少两个空格以使注释与其他内容区分开来。
  • 在代码注释中解释高明的做法或用途,不要在其中重复表达代码意义。任何时候都应该使用易于理解的措辞,避免难懂的语言或专业术语等。

例如:

# 使用strip()方法去除字符串两侧的多余空白
clean_string = input_string.strip()

# 调用calculate_distance()函数计算两点之间的距离
distance = calculate_distance(x1, y1, x2, y2)

异常

  • 不要捕捉除 Exception 以外的异常。太多的捕获只会导致隐藏错误。
  • 在捕获异常时,应该尽可能地精确描述可能发生的异常情况。
  • 在失败的操作上方放置一个单行注释来描述它所抛出的异常情况。

例如:

try:
    # 打开文件并读取其内容
    with open("my_file.txt") as f:
        file_contents = f.read()
except FileNotFoundError as e:
    # 如果找不到文件,则输出错误消息并退出
    print("Error: File not found.")
    sys.exit(1)

当编写代码的时候,遵循一些代码规范是非常重要的。虽然在某些情况下,可能会觉得这些规则感觉有点啰嗦或不太必要,但是它们可以帮助你编写出更加清晰、易于理解、易于维护的代码。

以下是其中一些好处:

  • 提高代码可读性:遵循统一的代码规范可以使代码结构变得更加清晰和易于理解,减少读者修改初期的时间浪费。
  • 增加代码一致性:生活中的每一个人都有自己的习惯、规矩,程序员也不例外。当多个程序员在同一项目上工作时,在风格上的不一致性不仅会增加项目的难度,而且还可能导致错误。因此,使用共同认可的规定来保证一致性是很有必要的。
  • 降低维护成本:良好的代码规范可以使代码更加易于维护和扩展。通过遵守一组统一的规则,代码难度可以被降低,并且可以更快地找到错误并进行修复。
  • 提升开发效率:规范化的代码风格使您能够更快速、可靠地编写代码。当代码组成模块合理、函数按功能划分完善时,对代码的理解和调试难度都将降低。

在编写 Python 代码时,遵循代码规范(如PEP8)有助于提高Python语言的可读性和易用性。Python社区中通常有类似的惯例,并且如果你能跟随它们,你就能够更好地参与到这个社区中来。因此,即使你可能会遇到不同的团队和人员,代码规范也可以帮助每个人更清晰、更快速、更有效地工作。最重要的当然是显得我们比较专业喽😜