标签:错误 自己的 tap tcp 对象 一个 user 避免 传送门
pep8规范?官方文档:[https://www.python.org/dev/peps/pep-0008/](https://www.python.org/dev/peps/pep-0008/)
PEP8中文翻译:http://www.cnblogs.com/ajianbeyourself/p/4377933.html
1)缩进。4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格。
2)每行最大长度79,换行可以使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车。
3)类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行。
1) 模块内容的顺序:模块说明和docstring—import—globals&constants—其他定义。其中import部分,又按标准、三方和自己编写顺序依次排放,之间空一行。
import os
import sys
from tcp_server import online_user
from threading import currentThread
from lib import common
from interface import common_interface, admin_interface, user_interface
...
2 )不要在一句import中多个库,比如import os, sys不推荐。
# 正确方式
import os
import sys
from subprocess import Popen, PIPE
# 错误方式
import os,sys
3) 如果采用from XX import XX引用库,可以省略‘module.’,都是可能出现命名冲突,这时就要采用import XX。
from myclass import MyClass
from foo.bar.yourclass import YourClass
# 如果和本地名字有冲突:
import myclass
import foo.bar.yourclass
# 正确写法
x = x + 1 # Compensate for border
# 错误写法
x = x + 1 # do nothing
1 )编码中考虑到其他python实现的效率等问题,比如运算符‘+’在CPython(Python)中效率很高,都是Jython中却非常低,所以应该采用.join()的方式。
2) 尽可能使用‘is’‘is not’取代‘==’,比如if x is not None 要优于if x。
3) 使用基于类的异常,每个模块或包都有自己的异常类,此异常类继承自Exception。
4) 异常中不要使用裸露的except,except后跟具体的exceptions。
5 )异常中try的代码尽可能少。比如:
try:
value = collection[key]
except KeyError:
return key_not_found(key)
else:
return handle_value(value)
要优于
try:
return handle_value(collection[key])
except KeyError:
return key_not_found(key
6 )使用startswith() and endswith()代替切片进行序列前缀或后缀的检查。比如:
if foo.startswith('bar'):优于
if foo[:3] == 'bar':
7) 使用isinstance()比较对象的类型。比如
if isinstance(obj, int): 优于
if type(obj) is type(1):
8 )判断序列空或不空,有如下规则
Yes: if not seq:
if seq:
优于
No: if len(seq)
if not len(seq)
9 )字符串不要以空格收尾。
文章转自:https://www.cnblogs.com/limengjie0104/p/8991430.html
标签:错误 自己的 tap tcp 对象 一个 user 避免 传送门
原文地址:https://www.cnblogs.com/yanjiayi098-001/p/11774961.html