1. 永远不要使用import *

  Pylint代码审查:Wildcard import XXX

如果函数名重名,或者要导入的内容里面包含了from datetime import datetime,
而在你的文件里 import datetime,如果import * 是在这之后,它会覆盖import datetime

2. 为每个Class、方法、函数、模块添加docString

  Pylint代码审查:Missing docstring

"""Doc string.

bababababa.
"""

3. 变量、函数、常量、类、方法名

  Pylint代码审查:Invalid name "xx" (should match [a-z_][a-z0-9_]{2,30}$)

变量名太短,长度应至少为3,且首字母应以a-z和_开头。

常量全部大写:MY_CONST

变量名、函数、方法名以小写字母开头,中间可以用下划线分隔 some_xx_xx

类名应以大写字母开头 MyClassName

类的私有变量、方法命 __some_xx

4. 过多的分支、函数太长

  Pylint代码审查:Too many branches (20/12)

if else太多,拆分函数吧

5. 一行太长,超过80个字符

  Pylint代码审查:Line too long (xx/80)

1. import的东东太多

from your.utils import some, another, some_x, another_x, \

  some_y, another_y

2. 条件太多

if some or another or another_x and another_y and some_z \

or another_y

3. 字符串太长

some_var = "blablablablablabla,mojimojimojimojimojimoji %s" % \

another_var

或者

some_var = ("blablablablablablablablablablabla"

  "mojimojimojimojimojimojimoji")

或者

some_var = """blablablablablabla,mojimojimojimojimojimoji

注意这里要顶格到最前面,否则会有多余的空白字符

"""

4. 函数括号里的东东太多,参数最好不要超过5个

some_var = some_func(some_x, some_y,

another_x, another_y)

或者

some_var = some_func(

        some_x, some_y,

        another_x, another_y)

或者

some_var = some_func(

  some_x, some_y,

  another_x, another_y)

5. 列表内容比较多噻

some_list = [

  some_x, some_y,

  another_x, anoter_y

  ]

some_list = [expression for x in a_list

        if some_very_very_long_expr]

6. 字典内容比较多噻

some_dict = {

  "some_x": some_x,

  "some_y": some_y

  }

7. 三元运算表达式太长

some_var = (some_value

       if very_very_very_long_expression

         else another_value)

8. 一行中的“.”操作表达式很多

some_var = (some_var.replace('xx', 'yy')

            .replace('zz', 'mm')

           .split('|'))

 Eclipse 80个字符提示线

Windows -> Prefereces -> General -> Editors -> Text Editors
     勾选上 Show print margin

6. 逗号后面跟一个空格

  Pylint代码审查:Comma not followed by a space

  在一行的代码,逗号后面加个空格吧;

Reference

Python PEP8(写Python必备)

Pyhon编码事项的更多相关文章

  1. WEB编码事项

    标准 WEB开发标准是一系列标准的集合, 包含HTML结构标准.CSS表现标准.JS行为标准.代码标准.标准测试. 目标 WEB开发流程统一标准化,实现页面结构.表现.行为适当分离,提高页面易维护性, ...

  2. Django国际化注意事项

    涉及两部分内容: py/html文件国际化.外部js文件国际化 步骤 1. settings.py 激活相应的配置 2. 针对py文件,需要注意被翻译代码的编写方式 3. 针对html文件,需要注意被 ...

  3. Jquery table元素操作-创建|数据填充|重置|隐藏行

    1.Jquery创建表格 /** * 创建表格 * @param label 标题 json格式,数据结构见附录1 * @param data 数据 json格式,数据结构见附录1 * @param ...

  4. FMS直播流发布时 Microphone Speex 编码设置注意事项

    1.为何要用 Speex?FP的默认音频编码是 NellyMoser,而FP10之后加入了 Speex.实际应用中,用默认的 NellyMoser 编码音频,会有个很大的问题,就是无法控制流码率浮动. ...

  5. Oracle EBS在编码方式为AL32UTF8时的注意事项

    现如今的EBS系统中,为了推进国际化的进程,以及系统向全球化的扩展,在Oracle数据库的编码方式上渐渐从支持中国本土简体中文的ZHS16GBK转向了更趋于国际化的AL32UTF8编码方式.但随之而来 ...

  6. PHP 下载导出中文名的文件的编码注意事项

    我的页面全部都为utf-8 在代码中我的文件名是中文名. 在创建文件时,就要将utf-8转码成gbk(用以支持中文) $file = iconv('utf-8',"gbk",$fi ...

  7. HTML 中的字符集、ASCII、 ISO-8859-1、符号之间的关系和 HTML URL 编码注意的事项

    一.HTML 实体 1.什么是HTML 实体? 在 HTMl 中,某些字符是保留的.小于号 (<) 和 大于号 (>), 浏览器会误认为是标签 如果希望正确地显示预留字符,必须在 HTML ...

  8. RabbitMQ持久化编码注意事项

    以Java语言,MQ客户端为amqp-client作为示例 1.基本原则 direct模式,由生产者声明队列名,消费者也声明队列名 topic模式,由生产者声明交换器名,由消费者声明队列名+交换器名+ ...

  9. web.xml文件--编码注意事项

    写在前面: 最近发布项目的时候,要修改web.xml文件的内容,然后我在本机的web.xml文件中是有注释的,但是到了服务器上面,就说编码不同.我也没有怎么注意.就继续启动服务器,但是访问网站,一直报 ...

随机推荐

  1. Windows, Eclipse下开发Heritrix 3.1 (一)环境搭建

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  2. 部署服务--NLB

    通过服务部署NLB,是对某一层(一层下面可以自定义VM实例数量)服务下的多台VM进行NLB,而不是对多个层进行NLB.需要先进行如下准备: 1.VM需要使用静态IP和静态MAC,所以需要先在进行NLB ...

  3. 为Centos安装自定义yum源

    大家都知道,大部分java生产欢迎用的是linux系统.linux系统分为redhat系列和debian系列,各有各的优点.老沙比较喜欢redhat系列,所以一直使用centos.centos可以使用 ...

  4. 解决TortoiseCVS中文乱码

    解决TortoiseCVS中文乱码必备,解决方法: 第一:卸载和TortoiseCVS安装一起安装的CVSNT. 第二:安装本版本CVSNT. CVSNT下载地址:http://down.51cto. ...

  5. [Webpack 2] Optimize React size and performance with Webpack production plugins

    You can fine tune several webpack plugins to make your bundle as small as it can be for your specifi ...

  6. Java 加密 AES 对称加密算法

    版权声明:本文为博主原创文章,未经博主允许不得转载. [AES] 一种对称加密算法,DES的取代者. 加密相关文章见:Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES R ...

  7. 标准I/O库之读和写流

    一旦打开了流,则可在三种不同类型的非格式化I/O中进行选择,对其进行读.写操作: (1)每次一个字符的I/O.一次读或写一个字符,如果流是带缓冲的,则标准I/O会处理所有缓冲. (2)每次一行的I/O ...

  8. 【转】cocos2d-x获取系统时间——2013-08-25 10

    欢迎转载,本帖地址:http://blog.csdn.net/jinjian2009/article/details/9449585 之前使用过cocos2d-x获取系统时间,毫秒级的 long ge ...

  9. 一句话、一张图记住Activity和Fragment之间错综复杂的生命周期关系

    如果我们在Fragment和它的宿主Activity的生命周期中都加上Log日志,你能顺利写出他们的执行顺序吗?我们先来看一张Google官方的图片: 咋一听,Activity生命周期有七个方法,Fr ...

  10. volatile的使用原则

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/4352802.html ...