跳到主要内容

Python代码规范(多院校适配版)

作者参考了昆士兰大学、墨尔本大学等海外院校基础Python课程的code style打分标准,以及Google的Python代码规范。适合新手培养良好编码习惯,也能避免课程中因不规范失分。

目录

写在前面

本文档结合多所院校和大型公司(如AWS)的实践标准制定,适合初学者避免常见失误。遵循这些规范可以帮助你:

  • 提升代码可读性
  • 避免常见错误
  • 培养专业的编码风格

变量规范

语义规范

  1. 命名原则

    • 不要使用无意义的变量名(如a, b, ca1, b1等)
    • 使用全小写字母,单词之间用下划线_分隔
    • 命名流程:中文含义 ➔ 翻译成最多三个英文单词 ➔ 用下划线连接
  2. 命名示例

    # 正确的命名
    student_name = "Tom"
    student_age = 18

    # 错误的命名
    list = [1, 2, 3] # 避免使用内置类型名
    str = "hello" # 避免使用内置类型名
  3. 特殊场景

    • for循环内部可以用i, j, k作为索引变量
    • 复数变量用复数形式,如students
    • 同类对象区分时使用编号,如student1, student2
    • 多次使用的数字定义为常量(全大写命名):
      MAX_RETRY = 3
      DEFAULT_TIMEOUT = 30

语法规范

  1. 基本规则
    • 变量名只能包含字母、数字、下划线
    • 不能以数字开头
    • 不能是Python保留字或内置函数名
    • 创建变量时必须是变量名 = 值的形式

作用域规范

  1. 基本原则
    • 避免使用全局变量
    • 推荐使用常量替代硬编码的数字
    • 常量用全大写表示

文件规范

  1. 基本规则
    • 禁止在行末添加;
    • 一行只写一个表达式
    • 每行字符数不超过80个,必要时换行
    • 缩进使用4个空格,禁止使用Tab
    • 函数、类定义之间留一空行

空格规范

  1. 括号使用

    # 正确
    sum(a, b)

    # 错误
    sum( a, b )
  2. 逗号和冒号

    # 正确
    print(a, b)

    # 错误
    print(a ,b)
  3. 索引/切片

    # 正确
    items[0:10]

    # 错误
    items [0:10]
  4. 二元操作符

    # 正确
    if a == b and b != c:
    pass
  5. 等号使用

    # 创建变量时
    count = 10

    # 指定默认参数时
    def func(a=1, b=2):
    pass

注释规范

文档注释

  1. 使用场景

    • 函数定义下方
    • 类定义下方
  2. 标准格式

    def add_numbers(a: int, b: int) -> int:
    """
    Add two integers and return the result.

    Parameters:
    a (int): The first number.
    b (int): The second number.

    Returns:
    int: The sum of a and b.
    """
    return a + b

行间注释

  1. 格式要求

    • #开始,后跟一个空格
    • 注释要么写在上一行,要么同一行(代码和注释间隔至少两个空格)
  2. 示例

    # 初始化列表
    my_list = [] # 创建一个空列表

类型提示

  1. 使用说明

    • 仅起到标注作用,不会报错
    • 写在函数参数和返回值部分
  2. 示例

    def greet(name: str) -> str:
    return "Hello " + name

异常与条件

异常规范

  1. 基本原则

    • 禁止使用assert,应使用raise
    • 捕获具体异常类型,禁止裸except
    • 尽量缩小try/except包围的代码块范围
  2. 示例

    try:
    value = int(input("Enter a number: "))
    except ValueError:
    print("That's not a valid number!")

条件规范

  1. 基本原则

    • 优先使用隐式布尔判断
    • 单个if语句最多包含两个条件
    • if-else嵌套不要超过三层
  2. 示例

    # 正确
    if my_list: # 而不是 if len(my_list) > 0
    print("List is not empty")

实战演练

找茬练习题

原代码(存在规范问题)

a= 5
if(a>0):
print ("positive")
else:
print ("non-positive")

规范化修改后

a = 5

if a > 0:
print("positive")
else:
print("non-positive")

小结

遵循这些规范,可以帮助你在写Python代码时:

  • 提升代码可读性
  • 避免常见错误
  • 培养专业的编码风格
  • 在课程作业中获得更好的评分