- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 share
http://stackoverflow.com/questions/17820680/caching-json-in-a-nice-way-loopj
2016-04-15 15:10:16
304
原创 Python--内置二分法查找/插入模块(源码)
python内部有实现成熟的二分法模块:模块名称:bisect 插入方法: 在源码中插入和寻找插入位置都有两种方法,一个是left,一个是right。其中,他们的区别就是当出现x是l中的某一个元素相等时,x是插在左边还是右边。源码中通过将相等的情况划分给‘向左缩进‘还是‘向右缩进‘的方式来控制。def insort_right(l,x,lo=0,hi=None):#源码中的英语是这种用法,
2016-02-15 16:54:54
1098
原创 读王垠《编程的智慧》笔记
1.反复推敲,优化代码 如果有几十年的工作经验,却从来不回头去提炼和反思自己的代码,那么他也许还不如一个只有一两年经验,却喜欢反复推敲,仔细领悟的人。 有时候你反复提炼一段代码,觉得到了顶峰,没法再改进了,可是过了几个月再回头来看,又发现好多可以改进和简化的地方。这跟写文章一模一样,回头看几个月或者几年前写的东西,你总能发现一些改进。 所以如果反复提炼代码已经不再有进展,那么你可以暂时把它放下
2016-02-10 10:19:04
418
原创 Python--wxpython
1.GUI --wxpython 安装(花了我一个小时,安装,自己编译都没成功,最后还是找到了一个安装命令) sudo pip install –upgrade –trusted-host wxpython.org –pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 2.基本格式import wx#app
2016-02-04 10:34:00
270
原创 Python--元编程
1.类方法 关键字:@classmethod@classmethoddef from_string(cls,date_as_string): #cls时类方法的关键字,代表调用的类,可能是其子类调用 year,month,day=map(int,date_as_string.splite('-')) date1=cls(day,month,year) return
2016-02-01 09:13:02
315
原创 Python super
from https://laike9m.com/blog/li-jie-python-super,70/1.super 指的是 MRO 中的下一个类!2.super的工作原理:def super(cls, inst): mro = inst.__class__.mro() return mro[mro.index(cls) + 1]两个参数 cls 和 inst 分别做了两件事:
2016-01-31 13:58:53
348
原创 Python--类的属性
1.函数基本 可继承父类 本身定义的方法会覆盖父类的方法新式类是有父类的,经典类是没有父类的。 (Python3都是新式类)区别:1.__slots__新式类有,对属性有限制#__slots__=('x','y')限制类只有x、y两个属性2.继承顺序新式类引入了继承,super3.__new__4.__getattribute__“”” 三引号里面的内容会加入到类的帮助里面去
2016-01-27 22:14:49
280
原创 Python--迭代器
1.迭代器Iterator 是可迭代对象的一个子集 可迭代:list,dict,strings2.生成器Generator 生成一个迭代器的工具,生成器是函数或者表达式3.利用迭代器处理fibonaccidef fib2(): a,b=0,1 while True: yield a a,b=b,a+b#需要先实例化一个对象,然后调用对象的next
2016-01-27 15:56:52
257
原创 Python--递归和快速排序 -- quickSort
每次将数组的最后一个字符取出,将剩下的字符,以大小为比较,放在取出字符的两侧,以此迭代。#encoding:utf-8import timeimport randomloop_times=1000000nums=10A=[random.randint(1,100) for i in xrange(nums)]def time_cost(times): def decorator(
2016-01-27 10:32:17
774
原创 Python -- 装饰器
1.装饰器 装饰:改变原有函数功能 函数作为参数,且函数作为返回值 @是装饰符号,后面跟装饰器注意: @decorator 在py文件被倒入时,装饰器就会运行#解决三个问题: 1.被倒入时,装饰器运行 2.目标函数无法带参数 3.目标函数被调用后无法插入代码 #解决:利用闭包构建装饰器def time_cost(f): def _f(*args,**kwargs):
2016-01-25 21:55:39
249
原创 Python--多进程
1.multiprocessing.Pool()方法#用进程池的方式批量创建子进程:import multiprocessing#创建进程池pool_num=4#若不指定线程数量,默认为机器的cpu核数pool=multiprocessing.Poll(pool_num)#将map放入不同进程pool.map(function,list)#关闭进程池pool.close()#对P
2016-01-25 10:30:32
276
原创 Python--(高阶)函数
1.函数 函数可以一个或多个返回值, 也可以没有 def f(): return 1,3 x,y=f() x==>1 y==>32.变量查找顺序LEGBLocal(function) Enclosing function locals Global(module) Built-in(Python)X = 9 # Global scope name def f1():
2016-01-25 09:08:08
486
原创 Python--逻辑/循环/异常/编码
1.输入 原始输入,将所输入的东西,不做执行 raw_input() 有执行输入,将执行完的结果返回给变量 input()2.输出 在3.x版本中,是函数 print() 在2.x版本中:print a,bprint >>file,a,bprint '%d,%d,%s'%(a,b,c)print "{0}like{1}".format('we','python')pritn "
2016-01-24 12:04:18
350
原创 Python -- 文件处理
1.文件读写 f=open(path,’r’)返回对象为file-like object写入时,没有这个文件时,自动创建 有的话,自动覆盖这个文件2.读写的中文支持 import codecs f=codecs.open(filename,mode,encoding)3.文件操作 import os os.path.exists(filename) os.rename(old,new)
2016-01-23 16:51:39
267
原创 python--列表 、元组、字典
1.列表常用操作 a=[1,2,3]在后面增加a.append(300)在指定地点插入a.insert(1,50)弹出最后一位a.pop()排序a.sort()逆序a.reverse()删除del a[1]2.注意,a.sort() 已改变其结构,b = a.sort() 是错误的写法!3.对列表中元素为字典,进行排序f = [{'name':'abc','age':20},{'name':'de
2016-01-23 15:35:02
296
原创 python--datetime&time
1.datetime 当前时间: datetime.datetime.now()2.时间段 Attribute Value days Between -999999999 and 999999999 inclusive seconds Between 0 and 863
2016-01-22 21:25:20
231
原创 Python基础复习
1.C语言需要先编译,然后执行 2.**即表示乘方, eg:2**10000 3. 1nm=1*10**-9m 4.Python是一种解释型,面向对象,动态数据类型的高级程序设计语言。 C&C++是编译型的。 编译是一次将程序全部编译成机器识别的二进制码,解释型是一句一句编译。 5.C是面向过程。 6.静态数据类型(C/C++/Java),变量一旦赋值,类型确定了。 7.用Py
2016-01-22 13:27:01
256
原创 Python正则
1.re.match(p,text)找到后马上返回,从头开始匹配2.re.search(p,text)找到后马上返回3.re.findall(p,text)寻找多个,返回找到的列表4.re.split(p,text)找到匹配模式,然后分开5.re.sub(p,s,text)替换找到模式的字符串替换成s6.编译模式对
2016-01-22 13:16:38
452
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人