python代码规范---PEP8(python enhancement proposal)

参考资料:英文https://legacy.python.org/dev/peps/pep-0008/

中文https://blog.csdn.net/ratsniper/article/details/78954852

https://www.bilibili.com/video/BV1vK4y1C7rs?from=search&seid=5677796270567931885

https://www.bilibili.com/video/BV1Tx411Z7A9?from=search&seid=2644072763393012132

检查代码规范:命令行模式下,pycodestyle +文件,即可返回代码中的问题

  • 代码布局
  1. 每一级缩进使用4个空格
  2. 使用代码缩进方式分割代码块
  3. 制表符只能用在同样适用制表符缩进的代码保持一致
  4. 不允许同时使用空格和制表符的缩进
  5. 行限制的最大字符数为79
  6. 文档字符或注释最大字符数是72。用括号换行,若是字符串相加则在运算符之前换行;使用\进行换行
  7. 插入空行,顶层函数和类的定义,前后用两个空行隔开
  8. 类里的方法定义用一个空行隔开
  9. 变量赋值和导入声明之间插入空行
  10. 函数调用尽量放在一起
  11. import导入,推荐一行导入一个包
  12. 从一个包里导入两个模块,可以写在一行,eg. from urllib import request, parse
  13. 导入总是位于文件的顶部,在模块注释和文档字符串之后,在模块的全局变量与常量之前
  14. 文档说明+空1行+导入包+空2行+函数
  15. 避免通配符的导入,如from bumpy import *
  16. 表达式和语句中的空格:避免使用无关的空格,紧跟在小括号、中括号或大括号后不能加空格;紧贴在逗号、分号或冒号前没有空格;紧贴在函数参数的左括号前没有空格;两个参数之间要加空格;参数内部赋值等号前后不加空格;变量定义赋值时等号前后都要加空格
  17. 赋值、+=等、比较、in、not前后也都要加空格。eg.3 >= 1
  18. 表达式和语句中要有空格,混合运算中优先级高的就不加空格,eg. x=x*2 - 1
  19. 避免行写多个语句
  20. 类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行
  • 命名规范
  1. 从任务出发进行命名--完成什么任务
  2. 使用英文单词命名,不要使用英文简拼
  3. 不要害怕过长的命名变量
  4. 避免重复使用变量名表示不同的对象
  5. 不能使用内建名称,使其在当前命名空间被屏蔽,避免导入的包名和变量名冲突
  6. 避免使用o和I,容易与0和1混淆
  7. 避免使用大小写区分不同对象,可使用下划线进行区分,提高可读性
  8. 命名风格:单个小写字母或单个大写字母,小写单词eg lowercase, 多个小写单词 lowe_case_with,大写单词 UPPERCASE,用下划线分割的大写字母UPPER_CASE_WITH_UNFET. 
  9. 大写字母表示常量
  10. 另:命名分割-CamelCase eg. CapitalizedWords,此时首字母大写的风格用到缩写时,所有的缩写字母要用大写,如HTTPS everError而非HttpSeverError; mixedCase, 第一个字母首字母小写,其他大写。
  11. 特殊格式:单下划线开头表示内部使用指示器;单下划线结尾避免与python内部关键词冲突;双下划线开头表示不能直接访问;双下划线开头,双下划线结尾,表示magic对象或存在与用户控制的命名空间内的属性,如__init__。
  12. 函数名-小写的英文单词,如果有多个单词则用下划线隔开
  13. 类名-首字母大写
  14. 函数和方法的参数,self-实例方法的第一个参数,cls-类静态方法的第一个参数
  15. python包和模块要用简短全小写的名字
  16. 大部分内置变量是单个单词,首字母大写的命名法之用于异常名(后变加Erro)或内部的常量
  • 注释原则
  1. 注释应是完整的句子
  2. 注释尽量使用英文进行
  3. 注释短时,结尾的句号可以参略,块注释一般由完整句子的一个或多个段落组成,每句话结束有句号
  4. 句尾结束时应使用两个空格
  5. 注释:应该是完整的句子,第一个单词应该大写
  6. #块注释即对一段代码的解释,写在代码上面
    用多行写注释,每行前要写#,#后要有空格;分段时,空一行#,再向下写
    
    #行注释,很短
    对一行单独的注释,代码+2个空格+#+空格
    
    #文档注释
    文档最开头,在#-*- coding:utf-8 -*-下有
    函数文档注释
    ‘’‘
    ’‘’

     

  7. 有节制使用行内注释
  8. 要为所有公共模块、函数、类和方法写文档说明,非公共方法没必要,描述方法具体作用的注释,在def那行之后
  9. 文档注释要描述方法的功能、对参数、返回值和可能的异常进行说明,目的是让使用这个方法的人仅看文档就能知道正确用法
  10. 把不需要的代码直接删除,而不要注释
  • 编程惯用习惯
  • 软件使用规范:

bin--启动软件入口

conf-配置文件

core-核心业务逻辑代码

db-存放数据文件和操作数据的代码文件

lib-存放公共的功能

log-存放日志的文件

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值