随笔分类 - Python
摘要:根据给定的线性函数来确定函数的表达形式: examples: get_function([0,1,2,3,4]) =>f(x)=x get_function([1,4,7,10,13]) => f(x)=3x+1 get_function([0,3,6,9,12]) => f(x)=3x将数...
阅读全文
摘要:通过一个简单的算法来了解reduce的巧用。构建函数persistence(n),如果n>9,则返回0.否则继续根据n的权重来分解n,如n=999,则分解为9,9,9.那么将9*9*9=729继续做以上判断,直到n 9: 5 n = reduce(operator.mul,[int(...
阅读全文
摘要:此篇随笔只是作为自己偶然想起的遇到过的代码片段。。记录下!1、巧用lambda,reduce实现多层嵌套的装饰器:示例如下: 1 #示例 函数chain([a,b,c,d) (input), 最终实现d(c(b(a)))(input),其中chain的参数是一个函数列表,且列表长度不确定【典型的装饰...
阅读全文
摘要:使用情景: 一个实例在上次“保存”操作之后又被修改了,需要检查它的状态变化以便有选择的保存此实例。解决方案: 一个有效的解决方案是创建一个mixin类,这个类可以从多个类继承并能对一个实例的状态进行快照操作,这样就可以用此实例的当前状态和上次的快照做比较了,来判断是否被修改过了。 1 impor...
阅读全文
摘要:看了CodeBokk 第二版通过python实现缓存环,吸收之后记录下,方便以后查阅。任务: 定义一个固定尺寸的缓存,当它填满的时候,新加入的元素会覆盖第一个(最老的)元素。这种数据结构在存储日志和历史信息时非常有用。解决方案: 当缓存填满时,及时地修改缓存对象,使其从为填满的缓存类变成填满的缓...
阅读全文
摘要:任务简单的介绍是: 在新风格对象模型中,Python操作其实是在类中查找特殊方法的(经典对象是在实例中进行操作的),现在需要将一些新风格的实例包装到代理中,,此代理可以选择将一些特殊的方法委托给内部的被包装对象。代码实施为: 1 class Proxy(object): 2 """所有代理的...
阅读全文
摘要:数据类型、模型或节点——这些都只是mock对象可承担的角色。但mock在单元测试中扮演一个什么角色呢?有时,你需要为单元测试的初始设置准备一些“其他”的代码资源。但这些资源兴许会不可用,不稳定,或者是使用起来太笨重。你可以试着找一些其他的资源替代;或者你可以通过创建一个被称为mock的东西来模拟...
阅读全文
摘要:由于排序在编程应用中占有很大的比重,此次学习主要利用python中的DSU方法(decorate-sort-undecorate)。列表的sort方法和内建的sorted函数提供了一个快速、原生的DSU实现。 具体应用实例: 1、对字典进行排序 def sortedDict(xdict):...
阅读全文
摘要:目前对于python中@classmethod 类方法和@staticmethod静态方法的有了一定的认识,之后有进一步的认识后继续记录。@classmethod :是和一个class类相关的方法,可以通过类货类实例进行调用,并将该class对象(不是class的实例对象)隐式地当作第一个参数传入。...
阅读全文
摘要:晚上回去复习下原来的资料,返现Codebook中有个关于“展开一个嵌套序列”的话题。 任务说明:序列中的子项可能是序列,子序列的子项仍可能是序列,以此类推,则序列嵌套可以达到任意的深度。需要循环遍历一个序列,将其中所有的子序列展开成一个单一的、只具备基本子项的序列。 举例来说就是形如如下序列...
阅读全文
摘要:最近打算将平时自己的一些小工具整理整理,由于一直使用python写脚本,而且数据库一直使用MongoDB,所以直接使用pymonogo驱动数据库做一些报表生成的小脚本,此次的脚本主要针对每个月中公司业务每天消耗的星星以及获取的星星数进行统计,其中需要用到的模块有pymongo、datetime。还...
阅读全文
摘要:今天上班第一天,恭祝所有朋友新年快乐!! 最近在github上发现一个还不错的基于Django的开源博客项目,不过也许是版本原因,其中代码存在着些许问题,今天主要记录下其中的模型处理方法的部分。 这段代码主要是通过创建博客文章的日期来进行筛选和分页的,如果在测试环境下进行会出现如下图报错...
阅读全文
摘要:代码示例如下: 1 #!/usr/local/bin python 2 import os 3 def swapextensions(dir, before, after): 4 if before[:1] != '.': 5 before = '.'+before 6 ...
阅读全文
摘要:涉及到的模块有os, fnmatch:1、通过os模块中的方法获取dir、subdir、files,通过os.path.join可拼接成完整路径; 2、fnmatch主要通过fnmatch.fnmatch(name, patterns),在patterns中匹配na...
阅读全文
摘要:1 #!/usr/local/env python 2 import os, sys 3 nargs = len(sys.argv) 4 if not 3 3:10 input_file = open(sys.argv[3])11 if nargs > 5:12 ...
阅读全文
摘要:最近根据老大要求,将数据进行同步备份,结合第三方提供的工具。第三方服务其实是有python demo的,本想研究下实际的python sdk搞个demo开发的,但是发现有些组建装起来确实头大,而且本公司线上的python版本也确实够低只能另想办法。 最终确定方案如下:利用第三方提供的相关管理工...
阅读全文
摘要:通过一个简单的任务实现这样的一个任务: 当给定一个字符串,通过查询一个替换字典,将字符串中被标记的子字符串替换掉!实现的方法如下: 1 def expand(format, d, marker='"', safe=False): 2 if safe: 3 def lookup...
阅读全文
摘要:之前介绍了根据old_url获取真实url的geturl的方法,而根据urlopen返回的应答对象的info方法可以获取服务器发送头部headers的内容,并且通过字典形式反馈出来,同样测试代码如下: from urllib2 import Request, urlopenold_url = ...
阅读全文
摘要:geturl为response对象的方法,由于有时候得到的网站url并不是真正的初始url而是通过重定向获得的,所以可以通过geturl方法获取真实的url。测试代码如下: from urllib2 import Request, urlopenodl_url = 'http://rrurl....
阅读全文
摘要:最近对于python核心编程学习完后,想进一步学习django的web开发,考虑再三还是决定在本机(win7)上搭建环境。 刚接触难免会出现问题,最大的一个问题是安装完django的包后,在cmd命令行模式下执行django-admin.py startproject 后提示如下图: ,一开...
阅读全文

浙公网安备 33010602011771号