Python168的学习笔记8】的更多相关文章

#coding:utf8 #斐波那契数列,第三项起,每一项都等于前两项之和 def memo(func): cache = {}#闭包 def wrap(*args): if args not in cache: cache[args] = func(*args) return cache[args] return wrap @memo def fibonacci(n): if n<=1: return 1 return fibonacci(n-1)+fibonacci(n-2) #上楼梯算法,…
关于多线程操作. 对于IO操作,如访问网站,写入磁盘这种需要时间等待响应的操作,多个cpu也几乎不能提高效率. 对于CPU密集型操作,如这个格式转换,可以通过多个cpu同时去进行. 但是对于python来讲,python存在GIL全局解释器的锁,导致只有一个python线程能被解释器接收.所以等于python只能对IO操作使用线程操作. #coding:utf8 import csv from xml.etree.ElementTree import Element,ElementTree im…
如何派生内置不可变类型并修改实例化行为. 个人理解,如何派生出自己想要的类. class IntTuple(tuple): def __new__(cls,iterable): g = (x for x in iterable if isinstance(x, int) and x>0) return super(IntTuple,cls).__new__(cls,g) def __init__(self,iterable): super(IntTuple,self).__init__(iter…
关于对csv文件的操作. python标准库中有csv的库,使用非常方便. import csv with open('pingan.csv','rb') as rf: reader = csv.reader(rf)#读操作 with open('pingan2.csv','wb') as wf: writer = csv.writer(wf) headers = reader.next() writer.writerow(headers)#写操作 for row in reader: if r…
关于普通文本文件的读写 python2.7中,未注明的字符都是以acsii来编码的,而要让字符能够通用,必须声明为unicode. s=u'你好',s.encode('utf8')就是指用utf8来进行编码,同样s.decode('utf8)就是用utf8来解码. 实例操作 #coding:utf8 f = open('py2.txt','w') s = u'你好' f.write(s.encode('gbk')) f.close() f=open('py2.txt','r') t = f.re…
list.extend(),可以拓展list,a=(0,1),b=(2,3) a.extend(b),a就变成(0,1,2,3) 分割字符串(除去字符串中的,\/;之类的),如果用str.split(),默认是除去空格,然后返回处理过后的list,可以输入特定值如split(';'),但缺点是一次只能处理一个特定的. #coding:utf8 def mySplit(s,ds): res = [s] for d in ds: t = [] map(lambda x : t.extend(x.sp…
关于for循环,其实质是利用被循环对象的__iter__,或者__getitem__属性接口,由可迭代对象得到迭代器.for循环就是不断调用.next(),直到最终捕获到stop. import requests from collections import Iterable,Iterator class WeatherIterator(Iterator):#可迭代对象 def __init__(self,cities): self.cities = cities self.index = 0…
在对list的条件选择有两种常用方法,直接使用filter函数,就是filter(func,sequence);另外一种就是迭代操作,类似 x for x in sequence func.这两种方法,迭代操作比filter函数快一倍左右. xrange与range的区别,xrange是类,生成器:然后range是直接返回list,所以多用xrange好. timeit 后面接上操作语句,可以得到操作语句的用时. 对字典dict的筛选操作也类似,同样运用迭代的方法{k:v for k,v in…
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者服务器 一.安装webpack 你需要之前安装node.js $ npm install webpack -g 安装成功后,便可以使用webpack命令行了. ok,开始工作! 二.新建一个空目录,名字为myApp,文件如下 entry.js document.write("It works.&qu…
1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 3.  UML类图 4.  思维导图 (右键查看图片可放大) 5.  PHP代码 我已经把有关这部分PHP代码,上传到git.oschina.net上,可以在 https://git.oschina.net/andywww/myTest 的文件夹template_Study下看到相关的完整代码. templa…