Chinaunix首页 | 论坛 | 博客
  • 博客访问: 490943
  • 博文数量: 72
  • 博客积分: 1851
  • 博客等级: 上尉
  • 技术积分: 1464
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-16 17:50
文章分类

全部博文(72)

文章存档

2013年(1)

2012年(17)

2011年(51)

2010年(3)

发布时间:2012-12-29 16:03:16

python支持多继承后,但能否支持动态继承性质?在程序运行过程中,重定义类的继承,python是支持这种动态继承性质的。这也就是python中 的mixin,在定义类过程中改变类的继承顺序,继承类。当某个模块不能修改时,通过mixin方式可以动态添加该类的方法,动态改变类的原有继承体系。 弄懂了多继承,mixin特性就简单多了。 但需要注意mixin后的具体继承体系的改变。#!/usr/bin/env pythonimport typesdef MixIn(pyClass,mixInClass,makeAncestor=0):    if mak......【阅读全文】

阅读(6462) | 评论(0) | 转发(0)

发布时间:2012-12-28 20:46:01

多继承在针对派生类中的同名函数时,python 需要对其进行线性化(C3 Linearization),将继承图关系线性化。通过线性化,再依次查找类方法,直至找到该方法为止。线性化算法是python多继承的核心部分。线性化过程中,必须满足两个性质:单调性 如果C从C'直接继承属性P(如图1),(C != C'),C'所有的父类(包含C')均在线性化中都是C的子列表。这样的话,C的线性化列表不用遍历C的所有继承体系,直接通过C的直接继承父类线性化列表获得(通过归并父类列表获得)。一致性 直接父类的顺序通过用户来声明,父类线性化的顺序为从左到右。在进行线性化归并过程中,一致性主要保证类......【阅读全文】

阅读(5320) | 评论(0) | 转发(1)

发布时间:2012-12-09 23:26:02

随机算法在计算机中还是由一个公式来进行计算的,不过尽量让随机周期变得长一些,这个过程也称为伪随机.TAOCP第2卷记录的大致算法如下: 冯诺依曼最初提出一个算法公式计算:Xn+1 = mid(Xn2):Xn2的中间位数(与X,,n,,位数保持一致),如 Xn = 5772156649, Xn2 = 33317792380594909201,Xn+1 = mid(Xn2) = 7923805949. 缺点: 随机周期长度太短; 如果Xn中有0,则后面序列中会一直包含0 Algorithm K("Super-random" number generator),非常复......【阅读全文】

阅读(2181) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册