Hello!

GAE博客开发 Python笔记

2010-12-03  |  gae python 

locals()

这个函数可以把当前上下文中的变量组成一个字典返回,在webpy中向模板传递变量时比较方法render(locals())

装饰器

这个话题比较多,python提供的一种方法来方便的重新封装某个函数,常用的有:

@classmethod @property @staticmethod(这些是python自带的)

参考:

http://blog.csdn.net/thy38/archive/2009/08/21/4471421.aspx http://blog.csdn.net/suiyunonghen/archive/2009/03/06/3962885.aspx http://marlonyao.javaeye.com/blog/679425

yield

yield的作用,让函数支持迭代的特性,这样像for这样的语法就可以作用在一个函数上,这个用在递归上不错,省着写全局变量了。

参考:

http://www.cublog.cn/u/19962/showart_163522.html

抓取网页

如果抓取网页,那就少不了下面几个类:

urllib,urllib2,cookielib,SGMLParser (这个觉得还不太好用,还不如正则来得快)

python中的编码

第一,文件本身的编码,这个就是你是在python文件顶部你要告诉python解释器的 如:

# -*- coding: gb2312-*-

第二,python运行时,内部是用什么编码来执行的,答案是unicode 不管你文件本身是什么编码,python都为把它转为统一的unicode码,那它是怎么做到的呢? 首先python内部使用了两个对象来管理编码类型,一个str 一个unicode

>>>a="我是中国人"
>>>Type(a)
>>>str
>>>a=u"我是中国人"
>>>type(a)
>>>unicode

str其实是字节序列(\xc4\xe3\xba\xc3),他主要的工作就是储存编码后的字符串,用在输出输入文件,网络上传输等。 unicode储存unicode字符串数据 Unicode>str时就是编码的过程,其实是unicode转成其它编码然后以字节序列保存在str中,str>unicode是解码过程,其实是先把str按其本身的编码转换到unicode

这个过程是隐性或显性的由两个方法来完成的:encode 编码(把unicode字符串按提供的编码方式转换出来,用str保存) ,decode 解码(其实是把字符串按提供的编码方式转换成unicode)上例中的a="我是中国人" type为什么为是str 是因为它其实是按你文件本身的提供的编码来储存的,即为str类型

参考:http://blog.csdn.net/fengye515/archive/2009/02/14/3890894.aspx