python编程规范 谷歌_Python最新编程规范,新手必学

最近,团队又来了几个小伙伴,经过一段时间磨合之后,发现彼此之间还是比较默契的,但有一个很大的问题是,每个人的编程风格和习惯都不同,导致现在代码看起来非常混乱。

7e90dc3c1805fe25a8d45f59192d0269.png

这里还要注意:不管你是想学Python还是想找python高薪工作,记住:项目实战永远是核心,如果你没有Python入门到高级实战视频教程,可以关注我,后台私信我 ‘py’ 自动获取最新python教程资料!还有老司机解答哦!

所以,有一个统一的开发编码规范还是很重要的。我在网上搜索了一些资料,在 PEP8 的基础上,同时结合目前代码的特点,总结出下文,分享给大家。

代码布局

缩进

每个缩进级别采用 4 个空格,注意不是 Tab。

当一行超出单行最大长度时,采用 Python 隐式续行,即垂直对齐于圆括号、方括号和花括号。

例如:

# 调用函数foo = long_function_name(var_one, var_two,                         var_three, var_four)                         # 定义列表my_list = [    1, 2, 3,    4, 5, 6,]# 定义字典my_dict = {    'a': 'hello',    'b': 'world'}复制代码
每行最大长度

传统来说一直都是 80,但我觉得以现在的浏览器屏宽来说,设置 120 都没问题,我设置的是 120.

二元运算符前换行

例如:

# 更容易匹配运算符与操作数income = (gross_wages          + taxable_interest          + (dividends - qualified_dividends)          - ira_deduction          - student_loan_interest)复制代码
空行
  • 使用 1 个空行来分隔类中的方法(method)定义。
  • 使用 2 个空行来分隔最外层的函数(function)和类(class)定义。
模块引用

Imports 应该写在代码文件的开头,并按照下面这样的顺序引用:

  1. 标准库 imports
  2. 相关第三方 imports
  3. 本地应用/库的特定 imports

禁止使用 import * 这样的方式。

模块级的双下划线命名

模块中的「双下滑线」变量,比如 __all__,__author__,__version__ 等,直接写在文件开头。

例如:

"""This is the example module.This module does stuff."""from __future__ import barry_as_FLUFL__all__ = ['a', 'b', 'c']__version__ = '0.1'__author__ = 'Cardinal Biggles'import osimport sys复制代码

字符串引用

使用单引号来表示字符串,对于三引号字符串,使用双引号字符表示。

例如:

# 单引号字符串a = 'hello'# 三引号字符串"""这是一个三引号字符串"""复制代码

表达式和语句中的空格

在下列情形中避免使用过多的空白:

1、方括号,圆括号和花括号之后:

# 正确的例子:spam(ham[1], {eggs: 2})# 错误的例子:spam( ham[ 1 ], { eggs: 2 } )复制代码

2、逗号,分号或冒号之前:

# 正确的例子:if x == 4: print x, y; x, y = y, x# 错误的例子:if x == 4 : print x , y ; x , y = y , x复制代码

3、切片操作

# 正确的例子:ham[1:9], ham[1:9:3], ham[:9:3], ham[1::3], ham[1:9:]ham[lower:upper], ham[lower:upper:], ham[lower::step]ham[lower+offset : upper+offset]ham[: upper_fn(x) : step_fn(x)], ham[:: step_fn(x)]ham[lower + offset : upper + offset]# 错误的例子:ham[lower + offset:upper + offset]ham[1: 9], ham[1 :9], ham[1:9 :3]ham[lower : : upper]ham[ : upper]复制代码

4、赋值

# 正确的例子:x = 1y = 2long_variable = 3# 错误的例子:x             = 1y             = 2long_variable = 3复制代码

还有一点需要注意的是,一定要把行尾的空格删掉。

注释

对代码进行必要的注释,如果修改代码,还要修改对应的注释内容。

删除无用的注释内容,增加代码可读性。

块注释

要使用块注释,禁止使用行内注释,注释时,# 和后面的注释内容要有空格。

例如:

# 这是一个注释x = 1 + 1复制代码

不要使用下面的注释方式:

x = 1 + 1   # 这是一个注释复制代码
TODO 注释

主要包含以下三点内容:

  1. 开头包含「TODO」字符串
  2. 紧跟着是用括号括起来的你的名字或者 email
  3. 再接下来是冒号,然后写接下来要做内容的文字解释

例如:

# TODO(xiaoming): 明确需求之后再开发复制代码
文档字符串

对于公共模块,函数,类和方法,使用文档字符串。内容包括三个方面,分别是功能描述、参数、返回值。

例如:

class MyClass:    """    这是一个自定义类    """    something    def func():    """    这是一个自定义函数        params:        params1: 第一个参数        params2: 第二个参数            return:        {'data': {}, 'status': 200}    """    something    复制代码

命名

1、文件名

采用小写字母和下划线的方式。

例如:

utils.pymail_lib.py复制代码

2、函数名

采用小写字母和下划线的方式。

例如:

def func():    passdef send_mail():    pass复制代码

3、类名

采用大驼峰方式。

例如:

class MyClass:    pass复制代码

4、常量和变量:

例如:

# 常量TOTALMAX_COUNT# 变量totalmax_total复制代码

最后送python教程:不管你是想学Python还是想找python高薪工作,记住:项目实战永远是核心,如果你没有Python入门到高级实战视频教程,可以关注我,后台私信我 ‘py’ 自动获取最新python教程资料!还有老司机解答哦!

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值