摘要:
如何使用类来对有用的对象进行建模?一、Python和OOPPython和OOP实现可以概括为三个概念。继承 继承是基于Python中属性查找(在X.name表达式中)多态 在X.method方法中,method的意义取决于X的类型(类)封装 方法和运算符实现行为,数据隐藏默认是一种惯例。封装指的是在Python中打包,也就是把实现的细节隐藏在对象接口之后。这并不代表有强制的私有性。封装可以让对象接口的现实出现变动时,不影响这个对象的用户。1、不要通过调用标记进行重载不要在同一个类中对同一个方法名定义两次,后面的会覆盖前面,也不要对对象类型进行测试。应该把程序代码写成预期的对象接口。而不是特定类 阅读全文
摘要:
一、class语句一般形式class <name>(superclass,...): data=value def mothod(self,...): self.member=value在class语句内,任何赋值语句都会产生类属性。类几乎就是命名空间,也就是定义变量名(属性)的工具,把数据和逻辑导出给客户端。怎么样从class语句得到命名空间的呢?过程如下。就像模块文件,位于class语句主体中的语句会建立起属性。当python执行class语句时(不是调用类)会从头到尾执行其主体内的所有语句。在这个过程中,进行赋值运算会在这个类的作用域中创建变量名,从而成为对应类对象中的属性。 阅读全文
摘要:
先说说题外话,以前很少写blog,最开始有整理过技术文章到QQ空间,后面整理到WORD以及文本里。再后来网上查找资料的之后发现cnblog上面的蛮专业的。我也觉得把资料存放在网络中永远不会丢。所以就出现在这里了。 今天从五角场回来后,想起上个月买的《学习ruby》一书。买这个本书完全是因为puppet是ruby写的原因。多多少少会用到点ruby方面的知识。一大下午的时间翻阅了这个本数后,和原来判断是相同,ruby和python很有80%,甚至更多的相同之处。面向对象,数组,哈希表都和python基本相同。简单的对比后,我还是觉得python更好,更加简洁易懂。ruby一个功能有多重表现方式很. 阅读全文