Python
文章平均质量分 75
caiknife
一个玩摇滚的程序员
展开
-
人生的第一个Python程序
今天因为给BeauBeau提供的抽奖号码做SQL文件,一开始收到ZIP文件解开压缩之后被吓到了——29个CSV文件,每个文件保存了1000个奖券ID和号码-_-!照上次一样,打开每个CSV文件做先做单独的SQL文件,每个SQL中有1000条插入语句,随后将29个文件的所有SQL语句都复制粘贴到同一个总的SQL文件中。CSV文件中的结构是“ID,NUMBER”的结构,其中ID是7位数字,NU原创 2008-03-11 17:30:00 · 685 阅读 · 0 评论 -
Python新式类和经典类的区别
class ClassicClass(): passclass NewStyleClass(object): passx1 = ClassicClass()x2 = NewStyleClass()print x1.__class__, type(x1)print x2.__class__, type(x2)输出结果:__main__.ClassicC原创 2013-01-07 11:53:07 · 5441 阅读 · 0 评论 -
Python的单例模式
#!/usr/bin/python#coding: UTF-8"""@author: CaiKnifeSingleton"""from functools import wraps# 使用__new__方法构造单例类class Singleton(object): def __new__(cls, *args, **kwargs): if not has原创 2013-01-31 09:26:44 · 1781 阅读 · 0 评论 -
Python新式类多重继承时的顺序
#!/usr/bin/python#coding: UTF-8"""@author: CaiKnife"""class A(object): def __init__(self): super(A, self).__init__() print "A!"class B(object): def __init__(self):原创 2013-02-13 11:57:32 · 3775 阅读 · 0 评论 -
为Python2.6的单元模块unittest做hack
我在Windows上开发Python用的版本是2.7,在Ubuntu上开发的版本是2.6,而在Python的unittest模块中,有几个方法是在2.7才有的,它们是:MethodChecks thatNew inassertEqual(a,b)a ==b assertNotEqual(a,b)a !=b原创 2013-01-31 17:06:48 · 2112 阅读 · 0 评论 -
根据字符串名称动态调用Python的函数和对象方法
#!/usr/bin/python#coding: UTF-8"""@author: CaiKnife根据函数名称动态调用"""def do_foo(): print "foo!"def do_bar(): print "bar!"class Print(): def do_foo(self): print "foo!" d原创 2013-01-28 10:02:51 · 30118 阅读 · 3 评论 -
使用装饰器为Python函数做缓存
写了个函数作为装饰器为Fibonacci数列做缓存,做了一下性能比较。#!/usr/bin/python# coding: UTF-8import datetimenow = datetime.datetime.nowfrom functools import wrapsdef cache(func): caches = {} @wraps(func)原创 2013-01-13 19:51:07 · 3287 阅读 · 1 评论 -
清理SVN信息的Python脚本
import os, sys, shutil, statdef main(): base_name = os.path.basename(__file__) if len(sys.argv) == 1: print "Format: %s %s" % (base_name, 'path_to_clear') sys.exit()原创 2013-01-10 20:37:18 · 728 阅读 · 0 评论