4月 25

学习 python 编写规范 pep8 的问题笔记

  在学习过程中有如下问题,做个记录。
  以前没有注意的问题
1)
一行列数 : PEP 8 规定为 79 列,这个太苛刻了,如果要拼接url一般都会超。
一个函数 : 不要超过 30 行代码, 即可显示在一个屏幕类,可以不使用垂直游标即可看到整个函数。
一个类 : 不要超过 200 行代码,不要有超过 10 个方法。
一个模块 : 不要超过 500 行。

2)不要在一句import中多个库
不推荐
import os, sys

推荐
import os
import sys

  在整理自己代码的时候记录的问题。

错误记录:W292 no newline at end of file
处理:打个回车有新的一空行即可(新行不要有空格)。

错误记录:E302 expected 2 blank lines, found 1
处理:上面只有一行空白,但是需要两个空白行

错误记录:E231 missing whitespace after ‘,’
翻译:“,”后要有空格
举例:
错误 print(“%s %s %s %s %s %s” % (A,B,D,E,K,L))
正确 print(“%s %s %s %s %s %s” % (A, B, D, E, K, L))

错误记录:E225 missing whitespace around operator
翻译:
举例:
错误 print(“%s %s %s %s %s %s”%(A, B, D, E, K, L))
正确 rint(“%s %s %s %s %s %s”% (A, B, D, E, K, L))

错误记录:E225 missing whitespace around operator
举例:
错误 f=open(“D:\\test.txt”, “ab”)
正确 f = open(“D:\\test.txt”, “ab”)

参考:
http://www.elias.cn/Python/PythonStyleGuide

4月 24

读《简单的逻辑学》

  一本160多页的书,把很多逻辑上的问题讲的清清楚楚。很多人是实践里的影响,没有学习也能自误的很好,对于大多数人来说还是需要学习一下。我通过读这本书,搞清楚很多需要在语言上注意的逻辑问题,但是真要反映到实用中还是不能自如,毕竟不能总是去套理论。
  还是非常推荐大家阅读。
image

4月 23

python 代码规范 pep8

  学习了很久的python,基本都是功能是想,没有遵循过代码规范。当前想成正规军,所以学习一下代码规范。直接学习pep8规范。规范文档下载位置。
http://www.python.org/dev/peps/pep-0008/

  网上也有不少中文的简要代码规范,可以参考。个人也没有细看,准备实践中学习,所以使工具来辅助检查,检查工具下载位置。直接用easy_install安装比较方便。
http://pypi.python.org/pypi/pep8/

  用之前的彩票代码试试,很多毛病呀,如下图

  平时都用eclipse,所以还是装配置在eclipse上比较方便。当前eclipse已经支持了python,直接配置pep8。

  打开eclipse开始配置,Window->Preferences->PyDev->Editor->Code Analysis,打开pep8.py 的标签页选择waring,如下图。

  重启eclipse后看到有很多的叹号,把鼠标放上去能看到问题。开始慢慢学习了。

演示脚本位置:http://www.simonzhang.net/?p=976

4月 20

慢也能成为另一种高速

  回程的路上看到前面路中间有事故标志,警察正在指挥行驶的车辆向最外侧车道行驶。所有车辆都减慢车速,排成一字型通过单条车道。在经过隔离带时转头看了一眼,路中间有辆卡车,车身与前行方向成45度角横在路间,占了两条车道。卡车后方5米左右位置,一个军大衣下面不断流出血来,从露在外面的脚看,应该是个十几岁的孩子。我想原因只有一个“快”,车速快,小孩跑的也快。
  现在的中国很多事情做或发展的都太快了,这种快是从国家到民众在提速。但是速度快了真的给我们带来高效吗。高铁不断提速,7.23高铁事故来了。汽车行业发展提速了,交通又拥堵了,油价又飞涨了。企业要高速发展,不断提高利润,工业明胶的食品来了。由于发展过快,一个质量问题就把整个企业拖垮了。百姓也想快速致富,三聚氰胺来了,毒蔬菜来了。为什么?速度太快了,所以多问题是不能避免的,因为国家的体质没有准备好,企业管理还没有跟上,百姓的素质也没有提高到应有的高度。很多人得道德标准已经降到零,为了利润可以无耻到任何地步。
  人是贪婪的矛盾的,会不断最求高利润,在没有相应法规、相对平等的待遇和基本的道德因素去控制时,出问题是必然的。如果为了避免这些问题,就需要让与之匹配的条件也要随之发展、健全,所以速度要慢点。不要跑的过快,过快了事情就很难控制。都市人有各种各样的城市病,休闲时羡慕慢节奏的生活和美丽的景色,但是美丽的自然风光往往都是和贫穷联系在一起,所以让逐利的人不敢近前。慢也可以变为另一种高速,等待也是一种必修的态度。

4月 19

python开头不可见字符的处理

  今天要处理一个由程序生成的文本文件,但是开头总有乱码。通过查看文件使用utf-8编码。直接用二进制打印。

for i in open("file.txt","rb"):
    print i 

  得到的乱码是“\xef\xbb\xbf”,处理方法很简单,直接截掉就可以了。

#### \xef\xbb\xbf
if i[:3] == "\xEF\xBB\xBF" :
      i = i[3:]

  但是为什么会出现这个问题,到网上查了一下,是utf-8编码的BOM(Byte Order Mark)。UTF-8 BOM又叫UTF-8 签名,BOM对UFT-8没有用,主要为了支持UTF-16,UTF-32才加上。BOM就是方便编辑器识别。所以直接删掉也没有问题。

参考:
http://www.cnblogs.com/DDark/archive/2011/11/28/2266085.html