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. iOS-iPhone系统版本号-iPhone App版本号

    转载: http://blog.sina.com.cn/s/blog_7b9d64af0101bu9j.html 很多时候,我们需要获得用户iPhone版本号,或者App的当前版本号. 关心以下两个方 ...

  2. Android之发送短信和接收验证码

      最近项目需求需要发送短信和接收验证码并将验证码显示在输入框中 以下是我的记录    前提---权限     <uses-permission android:name="andro ...

  3. -bash: ls: command not found

    在iMac下ls既然command not found,查找了下 原因:在设置环境变量时,编辑profile文件没有写正确,导致在命令行下 ls等命令不能够识别.解决方案: 直接在控制台下  expo ...

  4. Cocos2d-x滚动列表具体解释(CCScrollView的使用)

    今天要写一个滚动列表功能,类似以下这样.(图片资源都是自己从天天酷跑里面抠的,仅用于学习方便) 首先,这样一个列表就和iOS里面的UITableView没什么两样,当然,Android中肯定也存在类似 ...

  5. [TypeScript] 1. Catching JavaScript Mistakes with TypeScript

    The TypeScript compiler is a powerful tool which catches mistakes even in vanilla JavaScript. Try it ...

  6. Linux内核里的DebugFS

    DebugFS,顾名思义,是一种用于内核调试的虚拟文件系统,内核开发者通过debugfs和用户空间交换数据.类似的虚拟文件系统还有procfs和sysfs等,这几种虚拟文件系统都并不实际存储在硬盘上, ...

  7. MVC - Ajax

    Ajax表单 使用Ajax.BeginForm方法即可开启Ajax表单 Ajax.BeginForm() 参数1:Action名参数2:使用AjaxOptions实例设定异步请求的属性 new Aja ...

  8. Android应用程序所包含的四种组件和DDMS

    关注用户组件         Activity                               编辑文本 .玩游戏 后台进程               Service           ...

  9. 九度 1371 最小的K个数

    题目描述:输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 输入: 每个测试案例包括2行:第一行为2个整数n,k(1<= ...

  10. json 转对象

    架包: import com.alibaba.fastjson.JSON; String arryStr="[{\"Name\": \"A\", \& ...