|
楼主 |
发表于 2-9-2025 23:32:22
|
显示全部楼层
本帖最后由 C0mp1ler 于 2-9-2025 23:33 编辑
1.代码布局:
缩进:使用 4 个空格来缩进代码,避免使用制表符(Tab)。
(老实说,我不敢相信有人会不厌其烦地敲四个空格,尤其是在代码嵌套了数不清的循环和判断时。但理论上来讲,使用tab可能会出现以下问题:
使用空格能够确保代码在任何编辑器中都能保持一致的显示效果。某些编辑器中,一个 Tab 可能等于 4 个空格,而在其他编辑器中则可能是 8 个。如果团队成员使用不同的编辑器,代码格式就会变得不一致,增加理解和修改代码的难度,可能会出现难以识别缩进错误的问题)
行长:每行代码的长度不超过 79 个字符,文档字符串(docstring)最长 72 个字符。
空行:
函数和类之间要使用两个空行。
方法定义之间使用一个空行。
行内缩进:对于函数参数或长列表等,避免单行超过 79 个字符,采用适当的换行和缩进。
2. 导入语句
导入语句应该放在文件的顶部,紧接着模块级文档字符串(如果有的话)。
应按顺序排列导入:标准库导入、第三方库导入、应用程序自定义模块导入,之间要有空行。(翻译,不建议写import pygame, sys)
避免使用 from module import * 这种方式,它会引入不必要的命名空间。
3. 空格使用
操作符周围:二元操作符(如 +, -, *, / 等)前后要加空格。
例:
x = 1 + 2
y = a * b
函数参数:函数调用时,函数名和括号之间不加空格,括号和参数之间加空格。
例:
my_function(arg1, arg2)
逗号后面:逗号后面加一个空格。
4. 命名约定
变量和函数:采用小写字母和下划线分隔的命名方式(snake_case)。
类名:采用刘老师最爱的驼峰命名法(CamelCase),首字母大写。
常量:常量名全部采用大写字母,并使用下划线分隔。
例:
MAX_LENGTH = 100
5. 注释
行内注释:注释应与代码分开,至少有两个空格,并且注释的首字母大写。
例:
x = 5 # This is an inline annotation
块注释:块注释应使用完整的句子,且每行开头使用 #,每行后不应有多余的空格。注释文本应左对齐。
# 这是一个块注释
# 它描述了函数的功能或某个复杂的逻辑
文档字符串(docstrings):所有模块、函数、类和方法都应有文档字符串,文档字符串应使用三重引号(""")。
6. 错误处理
异常处理:使用 try/except 语句时,except 后应指定特定的异常类型,避免使用通用的 except。
例:
try:
pass # 可能引发异常的代码
except ValueError:
pass # 处理 ValueError 异常
7. 代码结构
函数和方法:函数应尽量保持简短,每个函数只做一件事。
类:每个类的功能应该单一,尽量避免多重继承和复杂的类层次结构。
8. 避免过度优化
避免过度的性能优化,除非性能问题严重影响了正常运行,亦或是你在参加算法大赛,写可读性高、易于维护的代码通常比写性能优越但难以理解的代码更重要。
PEP 8 是 Python 社区的代码风格基础,遵循它能让你的代码更具可读性。如果你使用自动化工具(如 flake8, black 等)或现代编译器(如PyCharm,它的配置教程详见python资源帖),它们可以帮助你检查代码是否符合 PEP 8 标准。 |
|