Python 代码规范: 缩进, 空格, 注释, 类, 命名

最近在做一个团队合作的算法开发项目时,作者发现自己的原先的 Python 代码编写习惯存在一些不合规范的地方,特此记录。
【参考资料】
1.谷歌开源项目风格指南 - Python风格规范
【推荐阅读】
1.作者的个人网站

1 缩进

使用四个空格,不能习惯用 Tab

2 空格

2.1 在二元操作符两边都加上一个空格

比如

  • 赋值(=)
  • 比较(==, <, >, !=, <>, <=, >=, in, not in, is, is not)
  • 布尔(and, or, not)

至于算术操作符两边的空格该如何使用, 可自行判断. 不过两侧务必要保持一致

2.2 当等号(=)用于指示关键字参数或默认参数值时, 不要在其两侧使用空格

例如,

def complex(real, imag=0.0): 
    return magic(r=real, i=imag)
2.3 不要用空格来垂直对齐多行间的标记, 因为这会成为维护的负担(适用于:, #, =等)

错误案例,

foo       = 1000  # comment
long_name = 2     # comment that should not be aligned

dictionary = {
    "foo"      : 1,
    "long_name": 2,
    }

“以你为你加了空格对齐后的代码很帅?哎~不存在的” —— 芜湖大司马

3 注释

3.1 注释应该至少离开代码2个空格, 以提高可读性
3.2 绝对不要描述代码, 而应假设阅读代码的人比你更懂Python, 他只是不知道你的代码要做什么

其他详见 谷歌开源项目风格指南 - Python风格规范 - 注释

4 类

如果一个类不继承自其它类, 就显式的从object继承. 嵌套类也一样.
例如,

class SampleClass(object):
    pass


class OuterClass(object):

    class InnerClass(object):
        pass


class ChildClass(ParentClass):
    """Explicitly inherits from another class already."""

5 命名

  • 避免连字符(-)
  • 用单下划线(_)开头表示模块变量或函数是protected的(使用from module import *时不会包含).
  • 用双下划线(__)开头的实例变量或方法表示类内私有
  • 对类名使用大写字母开头的单词(如CapWords, 即Pascal风格), 但是模块名应该用小写加下划线的方式(如lower_with_under.py)

规范命名示例

TypePublicInternal
Moduleslower_with_under_lower_with_under
Packageslower_with_under
ClassesCapWords_CapWords
ExceptionsCapWords
Functionslower_with_under()_lower_with_under()
Global/Class ConstantsCAPS_WITH_UNDER_CAPS_WITH_UNDER
Global/Class Variableslower_with_under_lower_with_under
Instance Variablesower_with_under_lower_with_under (protected) or __lower_with_under (private)
Method Nameslower_with_under()_lower_with_under() (protected) or __lower_with_under() (private)
Function/Method Parameterslower_with_under
Local Variableslower_with_under
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江湖留名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值