制定个人代码规范

目录

1、代码布局

         1.1缩进换行

         1.2 最大行长度

         1.3字符串引用

 2、表达式和语句的空白

          2.1在括号里

          2.2在逗号、分号或冒号之前

          2.3在切片中

          2.4运算操作中

          2.5在函数中

3、注释 

4、命名 

          4.1模块

          4.2类名

          4.3函数

          4.4变量名 &常量名


1、代码布局

1.1缩进换行

  • 每个缩进级别使用四个空格
  • 当使用悬挂缩进时:第一行不应该有任何参数,进一步缩进来区分,如
    def long_function_name(
            var_one, var_two, var_three,
            var_four):
        print(var_one)
  • 最后一行的括号对齐到列表最后一列的第一个非空或第一个字符下,如
    my_list = [
        1, 2, 3,
        4, 5, 6,
        ]
    
    my_list = [
        1, 2, 3,
        4, 5, 6,
    ]
  •  在二进制运算符后换行
  • import应该在单独的行上

1.2 最大行长度

  • 所有行限制最多有79个字符(文档字符串、注释限制为72字符)
  • 多个with语句可以通过反斜杠来延续

1.3字符串引用

  • 当字符串包含单引号或双引号时,使用另一个引号以避免字符串出现反斜杠

 2、表达式和语句的空白

2.1在括号里

spam(ham[1], {eggs: 2})
foo = (0,)

2.2在逗号、分号或冒号之前

if x == 4: print x, y; x, y = y, x

2.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]

2.4运算操作中

  • 在优先级最低的操作符周围添加空格
  • 二进制操作符的两边总是有相同数量的空格
    x = x*2 - 1
    hypot2 = x*x + y*y
    c = (a+b) * (a-b)

2.5在函数中

  • 出现->箭头,周围有空格
  • 指示关键字参数或参数默认值时,不要在=周围使用空格
    def munge(input: AnyStr): ...
    def munge() -> PosInt: ...
    def munge(input: AnyStr, sep: AnyStr = None, limit=1000): ...
    
    def complex(real, imag=0.0):
        return magic(r=real, i=imag)

3、注释 

  • 块注释:每一行都以#和一个空格开头
  • 内敛注释:至少用两个空格隔开,注意陈述内容是否必要
  • 文档字符串:多行字符串结尾应该当读一行;一行文档的字符串结束的“”要保持在同一行

4、命名 

4.1模块

  • 尽量使用小写,首字母保持小写,尽量不要用下划线

4.2类名

  • 驼峰命名风格,首字母大写,私有类可用一个下划线开头

4.3函数

  • 函数名一律小写,若有多个单词,用下划线隔开
  • 私有函数在函数前加下划线 

4.4变量名 &常量名

  • 变量名尽量小写,若有多个单词,用下划线隔开
  • 常量采用全大写,若有多个单词,用下划线隔开

 

参考: 《Python PEP8》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值