码迷,mamicode.com
首页 > 编程语言 > 详细

Python Style Guide

时间:2014-08-15 23:43:59      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   io   strong   

  Python代码风格规范.

@1:参数缩进:(2种形式)

<1> 

foo = long_function_name(var1, var2,

                         var3, var4)

#第1行有参数, 第2行参数与第1行对齐

<2>

foo = long_function_name(

    var1, var2, var3, 

    var4)

#第1行须没有参数, 第2行前空4个空格, 第3行与第2行对齐

@2:顶级定义之间空2行, 方法定义之间空1

  类中第1个方法前总是应该空1行, 某些函数内部也可以适当的加空行

@3:不要逗号, 分号, 冒号前面加空格, 但应该在他们后面加(除了在行尾)

@4:二元运算符两侧应该加空格, 但当”=”用于指示关键字参数或默认参数时不要加空格,如:

def complex(read, image=0.0):    # “=”两侧无空格

@5:总是使用最特化的版本,如/usr/bin/python2.4, 而不是/usr/bin/python2

@6:如果不是"简短,显然或函数不被外部可见", 任何函数都需要一个文档字符串.

@7:对于复杂的操作, 应该在其操作开始前写上若干行注释, 对于不是一目了然的代码, 应该在其行尾添加注释.

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

#NO------------------------------------
class SampleClass:
  pass 

class OuterClass:
  class InnerClass:
    pass
 

#YES-----------------------------------
class SampleClass(object):
  pass 

class OuterClass(object):
  class InnerClass(object):
    pass
 
class ChildClass(ParentClass):

@9: 尽量用format,而不是+. 但如果两个变量紧挨着,则使用+.

name = "lxw"
age = 24
x = "{0}, {1}!".format(name, age)   #YES
#x = name + ", " + str(age) + "!"   #NO
sex = "male"
#y = "{}{}".format(name, sex)       #NO
y = name + sex                      #YES 

@10:避免在循环中用+和+=操作符来累加字符串. 由于字符串是不可变的, 这样做会创建不必要的临时对象, 并且导致二次方而不是线性的运行时间.

可以将每个子串加入列表, 然后在循环结束后用 .join 连接列表.

#Yes--------------------------
     items = [<table>]
     for last_name, first_name in employee_list:
         items.append(<tr><td>%s, %s</td></tr> % (last_name, first_name))
     items.append(</table>)
     employee_table = ‘‘.join(items)
#No--------------------------
    employee_table = <table>
    for last_name, first_name in employee_list:
        employee_table += <tr><td>%s, %s</td></tr> % (last_name, first_name)
    employee_table += </table>

@11:为多行字符串使用三重双引号,而非三重单引号. 文档字符串必须使用三重双引号.

@12:推荐使用with语句以管理文件:

with open("hello.txt") as hello_file:
    for line in hello_file:
        print line

@13:每个导入应该独占一行

#Yes---------------------
import os
import sys
#No---------------------
import os, sys

 

Reference:

Google 开源项目风格指南PYTHON风格规范: http://zh-google-styleguide.readthedocs.org/en/latest/google-python-styleguide/python_style_rules/

Python Style Guide,布布扣,bubuko.com

Python Style Guide

标签:style   blog   http   color   使用   os   io   strong   

原文地址:http://www.cnblogs.com/lxw0109/p/Python-Style-Guide.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!