每天一个小程序--在python的类和函数中使用静态变量

Posted on Mon, 01 Nov 2010 11:06:43 -1100

在python的类和函数(包括λ方法)中使用静态变量似乎是件不可能[Nothing is impossible]的事,

但总有解决的办法,下面通过实现一个类或函数的累加器来介绍一些较为非主流的方法

方法一 →→ 通过类的__init__和__call__方法

class foo:
    def __init__(self, n=0):
        self.n = n
    def __call__(self, i):
        self.n += i
        return self.n
    
a=foo()
print a(1)
print a(2)
print a(3)
print a(4)

方法二 →→ 在函数中定义一个类

def foo2 (n=0):
    class acc:
        def __init__ (self, s):
            self.s = s
        def inc (self, i):
            self.s += i
            return self.s
    return acc (n).inc
    
a=foo2()
print a(1)
print a(2)
print a(3)
print a(4)

方法三 →→ 使用堆上的匿名参数

def foo3 (i, L=[]):
    if len(L)==0:
        L.append(0)
    L[0]+=i
    return L[0]

print foo3(1)
print foo3(2)
print foo3(3)
print foo3(4)

在python官方的2.6环境下运行,
上述三段代码得到的结果都是

1
3
6
10

每天一个小程序--python编译pyc文件

Posted on Mon, 01 Nov 2010 11:05:47 -1100

今天开始写这个,希望能坚持下去,不过真忙了也没办法,

今天记录下如何编译python的方法

比如有下面简单的一个程序

def show():
    print 'hello world!'
if __name__ == '__main__':
    show()

 

如果想编译它,可以用py_compile这个包,

下面修改一下

import   py_compile;     
py_compile.compile('test01.py')

def show():
    print 'hello world!'
if __name__ == '__main__':
    show()

这时再运行下,除了输出"你好世界"以外,还会生成对应的*.pyc文件

当然也可以不改动程序,直接运行这个命令

python -mpy_compile test01.py
##假定文件命名为test01.py
-m是直接运行某个包

test ScribeFire

Posted on Tue, 19 Oct 2010 08:23:24 -1100

test ScribeFire

[好文备份]高树的故事

Posted on Thu, 26 Aug 2010 12:08:16 -1100

        很久很久以前,在拉格朗日照耀下,有几座城:分别是常微分方城和偏微分方城这两座兄弟城,还有数理方城、随机过城。从这几座城里流出了几条溪,比较 著名的有:柯溪、数学分溪、泛函分溪、回归分溪、时间序列分溪等。其中某几条溪和支流汇聚在一起,形成了解析几河、微分几河、黎曼几河三条大河。

        河边有座古老的海森堡,里面生活着亥霍母子,穿着德布罗衣、卢瑟服、门捷列服,这样就不会被开尔蚊骚扰,被河里的薛定鳄咬伤。城堡 门口两边摆放着牛墩和道尔墩,出去便是鲍林。鲍林里面的树非常多:有高等代树、抽象代树、线性代树、实变函树、复变函树、数值代树等,还有长满了傅立叶, 开满了范德花的级树。。。。人们专门在这些树边放了许多的盖(概)桶,高桶,这是用来放尸体的,因为,挂在上面的人,太多了,太多了。。。。这些人死后就 葬在微积坟,坟的后面是一片广阔的麦克劳林,林子里有一只费马,它喜欢在柯溪喝水,溪里撒着用高丝做成的ε-网,有时可以捕捉到二次剩鱼。

        后来,芬斯勒几河改道,几河不能同调,工程师李群不得不微分流形,调河分溪。几河分溪以后,水量大涨,建了个测渡也没有效果,还是挂了很多人,连非交换代树都挂满了,不得不弄到动力系桶里扔掉。

        有些人不想挂在树上,索性投入了数值逼井(近)。结果投井的人发现井下生活着线性回龟和非线性回龟两种龟:前一种最为常见的是简单线性回龟和多元线性回龟,它们都喜欢吃最小二橙。

        柯溪经过不等市,渐近县和极县,这里房子的屋顶都是用伽罗瓦盖的,人们的主食是无穷小粮。

        极县旁有一座道观叫线性无观,线性无观里有很多道士叫做多项士,道长比较二,也叫二项士。线性无观旁有一座庙叫做香寺,长老叫做满 志,排出咀阵,守卫着一座塔方。一天二项士拎着马尔可夫链来踢馆,满志曰:“正定!正定!吾级数太低,愿以郑太求和,道友合同否?”二项士惊呼:“特真值 啊!”立退。不料满志此人置信度太低,不以郑太求和,却要郑太回归。二项式大怒在密度函树下展开标准分布,布里包了两个钗钗,分别是标准钗和方钗。满志见 状央(鞅)求饶命。二项式将其关到希尔伯特空间,命巴纳赫看守。后来,巴纳赫让其付饭钱,满志念已缴钱便贪多吃,结果在无参树下被噎死(贝叶 斯)。。。。。