Python编码规范02--基础规范--代码格式

1、 缩进

  用4个空格来缩进代码。

  绝对不要用tab, 也不要tab和空格混用.。对于行连接的情况, 你应该要么垂直对齐换行的元素, 或者使用4空格的悬挂式缩进(这时第一行不应该有参数):

Yes:   # 与起始变量对齐
       foo = long_function_name(var_one, var_two,
                                var_three, var_four)

       # 字典中与起始值对齐
       foo = { long_dictionary_key: value1 + value2, ... } # 4 个空格缩进,第一行不需要 foo = long_function_name( var_one, var_two, var_three, var_four) # 字典中 4 个空格缩进 foo = { long_dictionary_key: long_dictionary_value, ... }
No:    # 第一行有空格是禁止的
      foo = long_function_name(var_one, var_two,
          var_three, var_four)

      # 2 个空格是禁止的
      foo = long_function_name( var_one, var_two, var_three, var_four) # 字典中没有处理缩进 foo = { long_dictionary_key: long_dictionary_value, ... }

2、 分号

    不要在行尾加分号, 也不要用分号将两条命令放在同一行。

3、 行宽

  每行代码尽量不超过 80 个字符,以下情况除外:

  1)    长的导入模块语句

  2)    注释里的URL

4、 行连接

  1)    不要使用反斜杠连接行。

  2)    Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这个特点。如果需要, 你可以在表达式外围增加一对额外的圆括号。

  推荐:

推荐: foo_bar(self, width, height, color='black', design=None, x='foo', emphasis=None, highlight=0) if (width == 0 and height == 0 and color == 'red' and emphasis == 'strong'):

  3)    如果一个文本字符串在一行放不下, 可以使用圆括号来实现隐式行连接:

x = ('这是一个非常长非常长非常长非常长 '
     '非常长非常长非常长非常长非常长非常长的字符串')

  4)    在注释中,如果必要,将长的URL放在一行上。

扫描二维码关注公众号,回复: 9902666 查看本文章

  5)    禁止复合语句,即一行中包含多个语句:

# 正确的写法
do_first()
do_second()
do_third()

# 不推荐的写法
do_first();do_second();do_third();

  6)    if/for/while一定要换行:

# 正确的写法
if foo == 'blah': do_blah_thing() # 不推荐的写法 if foo == 'blah': do_blash_thing()

5、 括号

  宁缺毋滥的使用括号。

  除非是用于实现行连接, 否则不要在返回语句或条件语句中使用括号. 不过在元组两边使用括号是可以的。

Yes: if foo:
         bar()
     while x:
         x = bar()
     if x and y: bar() if not x: bar() return foo for (x, y) in dict.items(): ...
No:  if (x):
         bar()
     if not(x):
         bar()
     return (foo)

6、  空行

  模块级函数和类定义之间空两行;

  类成员函数之间空一行;

  函数中可以使用空行分隔出逻辑相关的代码。

class A:

    def __init__(self):
        pass def hello(self): pass def main(): pass 

猜你喜欢

转载自www.cnblogs.com/mazhiyong/p/12504250.html