上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: 1 #关联关系(association) 2 3 class Climaate(object): 4 pass 5 6 7 class Penguin(Bird): 8 def __init__(self): 9 super(Penguin, self).__init__()10 self._climate = NoneAssociation关联关系表现为变量(has a )。类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量。关联关系有双向关联和单向关联。双向关联:两个类都知道另一个类的公共... 阅读全文
posted @ 2012-12-27 18:57 践道者 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 1 #依赖关系(dependency) 2 class Oxyggen(object): 3 pass 4 5 class Water(object): 6 pass 7 8 9 class Animal(object):10 def metabolism(self, oxygen, water):11 passDependency(依赖关系)表现为函数中的参数(use a)。是类与类之间的连接,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。 阅读全文
posted @ 2012-12-27 18:02 践道者 阅读(395) 评论(0) 推荐(0) 编辑
摘要: #组合关系(composition)class Wing(object): passclass Bird(object): def __init__(self): self.wing = Wing()Composition(组合关系)是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期。Bird的生命周期决定了self.wing的生命周期 阅读全文
posted @ 2012-12-27 17:44 践道者 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 抽象类(abstract class):声明方法的存在而不去实现 阅读全文
posted @ 2012-12-27 14:10 践道者 阅读(151) 评论(0) 推荐(0) 编辑
摘要: #coding=utf8import stringdef count(numA, numB, operator): try: numberA = string.atof(numA) numberB = string.atof(numB) except: exit("input error,please check it number A :'%s' -- number B:'%s'" % (numA, numB)) op = OperationFactory.createOperate(operator) op.setA(nu... 阅读全文
posted @ 2012-12-27 11:35 践道者 阅读(2837) 评论(0) 推荐(0) 编辑
摘要: 考虑这种情况:如果一个线程遇到锁嵌套的情况该怎么办,这个嵌套是指当我一个线程在获取临界资源时,又需要再次获取。 根据这种情况,代码如下:Python代码'''''Createdon2012-9-8@author:walfred@module:thread.ThreadTest6'''importthreadingimporttimecounter=0mutex=threading.Lock()classMyThread(threading.Thread):def__init__(self):threading.Thread.__i 阅读全文
posted @ 2012-12-25 14:32 践道者 阅读(2471) 评论(0) 推荐(0) 编辑
摘要: 1、当需要排序的时候,尽量设法使用内建python列表的sort方法2、当需要搜索的时候,尽量设法使用内建的字典DSU模式:通过创建一个辅助列表,将问题转化为列表的排序,从而可以利用默认的快速的sort方法。特性:序列是按照条目的顺序进行比较的。条目顺序是对列表和元组的字符串比较(即字母顺序)规划的归纳。 阅读全文
posted @ 2012-12-20 16:52 践道者 阅读(194) 评论(0) 推荐(0) 编辑
摘要: decode:将其他编码转换成unicode a = 'aabcde'.decode('gb2312') print type(a) b = 'bbddee'.decode('utf8') print type(b) 打印结果:<type 'unicode'><type 'unicode'>encode:将unicode编码转换成其他编码 阅读全文
posted @ 2012-12-13 16:14 践道者 阅读(1745) 评论(0) 推荐(0) 编辑
摘要: 做文本处理的时候经常要判断一个文本有没有以一个子串开始,或者结束。Python为此提供了两个函数:S.startswith(prefix[, start[, end]]) -> bool如果字符串S以prefix开始,返回True,否则返回False。start和end是两个可以缺省的参数。分别是开始比较的位置和结束比较的位置。这个函数也可以写成S[start:end].startswith(prefix)。S.endswith(suffix[, start[, end]]) -> bool如果字符串S以suffix结束,返回True,否者返回False。与startswith类似 阅读全文
posted @ 2012-12-11 11:49 践道者 阅读(3467) 评论(0) 推荐(0) 编辑
摘要: /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库(动态链接共享库),作用类似windows里的.dll文件 /sbin 系统管理命令,存放的是系统管理员使用的管理程序 /tmp 公用的临时文件存储点 /root 系统管理员的主目录 /mnt 系统提供这个目录是让用户临时挂载其他的文件系统。 /lost+found 该目录平时是空的,系统非正常关机而留下“无家可归”的文件(wi... 阅读全文
posted @ 2012-12-08 16:19 践道者 阅读(164) 评论(0) 推荐(0) 编辑
摘要: Python内置了一些非常有趣但非常有用的函数,充分体现了Python的语言魅力! filter(function, sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回: >>> def f(x): return x % 2 != 0 and x % 3 != 0 >>> filter(f, range(2, 25)) [5, 7, 11, 13, 17, 19, 23] >>> def f(x) 阅读全文
posted @ 2012-12-08 13:45 践道者 阅读(301) 评论(0) 推荐(0) 编辑
摘要: import urllibinforMation = urllib.urlopen("http://tianya.cn", proxies={'http':'127.0.0.1:8087'})print inforMation.read() 阅读全文
posted @ 2012-12-07 10:37 践道者 阅读(1353) 评论(0) 推荐(0) 编辑
摘要: 在工作过程中,在使用全局变量时遇到了些问题,有两个文件,一个是tt.py,代码如下,1 #coding=utf82 3 SUM_COST = 04 5 def cons():6 global SUM_COST #如果要修改全局变量一定要加gloal声明,单纯的读取则不用7 SUM_COST += 18 print SUM_COST另一个是cc.py,代码如下,#coding=utf8from tt import SUM_COST, consprint SUM_COSTcons()print SUM_COST个人理解cc里输出应该分别是0,1但发现输出的都是0,发现调用c... 阅读全文
posted @ 2012-12-06 10:37 践道者 阅读(1102) 评论(0) 推荐(0) 编辑
摘要: class TestClassMethod(object): METHOD = 'method hoho' def __init__(self): self.name = 'leon' def test1(self): print 'test1' print self @classmethod def test2(cls): print cls print 'test2' print TestClassMethod.METHOD print '------------... 阅读全文
posted @ 2012-12-04 22:27 践道者 阅读(51117) 评论(0) 推荐(0) 编辑
摘要: __init__ :创建类时最常用的方法,目的是为了初始化对象,相当于java的构造函数NOTE:一个类的所有数据属性应该在这里赋初始值,以节省后面的调试时间,不必为捕捉因使用未初始化(也就是不存在)的属性而导致产生AttributeError异常__new__:创建类实例,具体用法示例可以看http://www.cnblogs.com/bjdxy/archive/2012/12/04/2801649.html__dict__:存储实例属性及值__class__:生成实例的类__base__:所有基类__name__:类名称__method__:实例具有的方法 ,已经废弃,用dir(实例)__ 阅读全文
posted @ 2012-12-04 19:29 践道者 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 1. id():获取的是对象在内存中的地址2. is :比对2个变量的对象引用(对象在内存中的地址,即id() 获得的值)是否相同。如果相同则返回True,否则返回False。换句话说,就是比对2个变量的对象引用是否指向同一个对象。3. ==:比对2个变量指向的对象的内容是否相同。下面通过cmp函数比较两个对象的差异: 1 class MyClass(object): 2 def __init__(self, name): 3 self.name = name 4 5 def __cmp__(self, other): 6 return cmp... 阅读全文
posted @ 2012-12-04 18:50 践道者 阅读(2418) 评论(0) 推荐(0) 编辑
摘要: 与__init__一样,每当实例化类时MyClass(*args, **kwargs) ,__new__ 都会默认自动执行MyClass.__new__(*args, **kwargs),如果想改变默认__new__行为,可以对它自定义看一个英寸转换为米例子:1 class inch(float):2 def __new__(cls, arg=0.0):3 return float.__new__(cls, arg * 0.0254)改变了__new__的自定义实例化类inch继承自float如果同时存在__new__ ,__init__则__new__比__init_... 阅读全文
posted @ 2012-12-04 17:07 践道者 阅读(9656) 评论(0) 推荐(2) 编辑
摘要: #coding=utf8class FlyBehavior(object): def fly(self):passclass QuackBehavior(object): def quack(self):passclass FlyWithWings(FlyBehavior): def fly(self): return '我会飞的...'class FlyNoWay(FlyBehavior): def fly(self): return '我没办法飞...'class Quack1(QuackBehavior): def quack(s... 阅读全文
posted @ 2012-12-04 15:42 践道者 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 增加用户useradd [options] [username]如,增加python用户并指定用户主目录useradd -d /usr/python -m python如果不指定默认用/home/username 目录增加用户口令passwd username如,root 用户为python用户增加口令passwd python 阅读全文
posted @ 2012-12-04 13:48 践道者 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 要掌握py的多线程编程得先了解这个GIL.全局解释器锁(GLOBAL INTERPRETER LOCK):全局解释锁机制保证同一时刻只有一个字节码(bytecode)进程在运行,当前线程想要安全访问对象时,必须先获取GIL,因此,只有获取GIL的线程才有资格去操作py对象或调整py的API函数. 阅读全文
posted @ 2012-12-03 23:23 践道者 阅读(1242) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页