[培训-Python机器学习]03-Python编程规范PEP8

参考书Python 机器学习实战
作者裔隽 张怿檬 张目清
出版社科学技术文献出版社
难度入门
安排计划:本章 15 分钟;作业:在VS Code中安装pylint插件,检查代码是否符合PEP8

PEP 是什么?

  • PEP(Python Enhancement Proposals):规范和定义 Python 的各种增强和扩展功能的技术规范。
  • PEP 的类型:
    • 描述 Python 中的新功能
    • 说明 Python 中的设计问题
    • 关于 Python 的提案
  • PEP 编号唯一且不变
    • PEP 333:Web Server Gateway Interface 1.0
    • PEP 498:Python3.6 新增的格式化字符串
    • PEP 0: Index of Python Enhancement Proposals

PEP 8:Style Guide for Python Code

  • 官方的 Python 编码规范,旨在提高代码的可读性,并且强调一致性。
  • PEP 8 的核心思想:代码被阅读的时间远远多于被编写的时间,因此代码的可读性非常重要。
  • 一个项目、一个模块、一个功能内都要保持一致性。
  • 不要为了遵循规则而遵从规则,而使得代码更难理解
  • 规范的 6 部分内容:
    • 代码布局设计
    • 字符串引用
    • 在表达式和语句中使用空格
    • 注释
    • 命名规范
    • 编码建议

PEP 8 - 代码布局设计

  • 缩进:4 个空格
  • 每行长度:79 个字符
  • 续行:首选自动连接括号(方括号、花括号);垂直对齐时增加一级缩进
  • 空行:顶层类和函数 2 空行;类中方法 1 空行;其它空行需要节约使用
  • 文件编码:UTF-8
  • 导入库包:import 单独一行;相同的库可以合并;大部分应在顶部
  • 导入顺序:标准库 ->第三方 ->本地和特殊;空行分开各类
  • 导入方式:建议绝对路径;避免使用通配符

PEP 8 - 字符串引用

  • 单引号双引号:虽然相同,但要统一;歧义时替换;尽量少用转义

PEP 8 - 表达式和语句中的空格

  • 无需空格:括号两侧、逗号前、冒号前、分号前;切片冒号两边;函数调用的左括号前;优先级高的运算符或者操作符(!c1 and c2); 函数关键字参数和默认值参数前后
  • 需要空格:二元运算符两侧;
  • 多条语句不要同行

PEP 8 - 注释

  • 注释应该是完整的句子
  • 首字母大写,除非是需要小写的标识符
  • 短注释可以省略末尾的句号
  • 块注释应该由段落和完整的句子组成。段落最后的句号后面应该有 2 个空格
  • 块注释在代码前,与代码缩进相同;每行 "# " 开头;分割行的 “#” 后面没有空格
  • 慎用行内注释:用则至少用 2 个空格分隔语句
  • 公共模块、函数、类、方法:需要文档注释;位于 def 后面;结束时 3 引号要另起一行。

PEP 8 - 命名规范

  • 模块:尽量简短的全部小写的名称;可加下划线
  • 包:不推荐下划线(除非引用其他语言的扩展包)
  • 类:驼峰;异常也是类,但是结尾应该加 “Error
  • 函数:小写字母,下划线分隔
  • 全局变量:同函数
  • 函数和参数:小写;selfcls;冲突则在最后加一个下划线
  • 方法名和实例变量:同函数
  • 常量:大写 + 下划线
  • 缩写应全部大写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值