07 2014 档案

摘要:1.单一职责原则:每个类都只有一个职责,修改一个类的理由只有一个2.开放-封闭远程(OCP):开放是指可拓展性好,封闭是指一旦一个类写好了,就尽量不要修改里面的代码,通过拓展(继承,重写等)来使旧的类满足新的需求,而不是修改一个类里面的代码。3.依赖倒转原则:高层模块不应该依赖底层模块,两个都应该依... 阅读全文
posted @ 2014-07-30 20:50 Xjng 阅读(1003) 评论(0) 推荐(0)
摘要:需求:有一个学雷锋活动,有买米和扫地两个内容,参与的人有大学生和社区志愿者,他们各自的方法不一样。如果用简单工厂模式实现:#encoding=utf-8__author__ = 'kevinlu1010@qq.com'class LeiFeng(): def buy_rice(self): ... 阅读全文
posted @ 2014-07-30 20:31 Xjng 阅读(9625) 评论(0) 推荐(1)
摘要:书中的例子是:男A喜欢女A,但是不敢向其表白,所以委托男B为代理,代他送礼物给女A,实现这个需求的重点是,男A和女A是不互相直接接触的,都是通过代理男B,实现间接接触。#encoding=utf-8__author__ = 'kevinlu1010@qq.com'from abc import AB... 阅读全文
posted @ 2014-07-30 19:42 Xjng 阅读(5663) 评论(1) 推荐(0)
摘要:假如我们需要开发一个程序来展示一个人穿衣服的过程。#encoding=utf-8__author__ = 'kevinlu1010@qq.com'class Person(): def __init__(self,name): print '%s开始穿衣'%name def... 阅读全文
posted @ 2014-07-30 10:47 Xjng 阅读(3034) 评论(0) 推荐(0)
摘要:1.os模块os.listdir(dirname) 列出dirname下的目录和文件os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。os.getenv()和os.putenv()函数分别用来读取和设置环境变量。os.curdir:返回但前目录(’.')os.chd... 阅读全文
posted @ 2014-07-29 10:39 Xjng 阅读(1010) 评论(0) 推荐(0)
摘要:进程间通讯有多种方式,包括信号,管道,消息队列,信号量,共享内存,socket等1.共享内存Python可以通过mmap模块实现进程之间的共享内存mmap文件对象既像一个字符串也像一个普通文件对象。像字符串时因为我们可以改变其中的单个字符,如,obj[index] = 'a',同时我们也可以改变一小... 阅读全文
posted @ 2014-07-28 16:26 Xjng 阅读(11506) 评论(0) 推荐(0)
摘要:snack是一个用于在linux制作图形界面(GUI)的模块,该模块由c编写,而且redhat的系统都自带这个模块。1.获取模块虽然redhat系统会自带这个模块,但是直接去import snack会提示找不到模块,一个原因是我们重装了系统的python,所以如果直接import不能找到模块,可以通... 阅读全文
posted @ 2014-07-26 12:08 Xjng 阅读(9599) 评论(0) 推荐(0)
摘要:用python连接zookeeper时,在终端里,一直会有zookeeper的日志冒出来,这样会很烦。2014-07-22 10:06:19,544:10474(0x7fd459406700):ZOO_WARN@zookeeper_interest@1557: Exceeded deadline b... 阅读全文
posted @ 2014-07-22 10:28 Xjng 阅读(5333) 评论(0) 推荐(0)
摘要:File "/data/msalt/module/default/game/common_tools.py", line 92, in reload_config stderr=PIPE, env={"PATH": '', "HOME": "/root"}) File "/usr/loc... 阅读全文
posted @ 2014-07-21 19:28 Xjng 阅读(1637) 评论(0) 推荐(0)
摘要:shell的输出可以分为标准输出和错误输出,2>&1中,2代表错误输出,1代表标准输出,&符号代表后面跟的是代号而不是文件。test.shecho '我是标准输出'ls /tmp/b.py假设不存在/tmp/b.py这个文件这里会输出:我是标准输出ls: cannot access /tmp/b.p... 阅读全文
posted @ 2014-07-21 10:32 Xjng 阅读(952) 评论(0) 推荐(0)
摘要:1. 访问对象的属性class MyClass(): a='1' b='2' def __init__(self): pass def write(self): print self.a,self.bmyClass=MyClass()print d... 阅读全文
posted @ 2014-07-16 11:11 Xjng 阅读(782) 评论(1) 推荐(0)
摘要:1.制作setup.pyfrom distutils.core import setupsetup(name='Myblog', version='1.0', description='My Blog Distribution Utilities', author='l... 阅读全文
posted @ 2014-07-16 10:53 Xjng 阅读(3376) 评论(0) 推荐(0)
摘要:1.工厂模式#encoding=utf-8__author__ = 'kevinlu1010@qq.com'class ADD(): def getResult(self,*args): return args[0]+args[1]class SUB(): def getR... 阅读全文
posted @ 2014-07-10 11:56 Xjng 阅读(933) 评论(0) 推荐(0)
摘要:1.传值和传址传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针)。他们的区别是如果函数里面对传入的参数重新赋值,函数外的全局变量是否相应改变,用传值传入的参数是不会改变的,用传址传入就会。a=1def f(b): b=2f(a)print a例如这段代码里面,... 阅读全文
posted @ 2014-07-07 11:50 Xjng 阅读(10763) 评论(0) 推荐(3)
摘要:functool.partail 方法可以为一个函数生成偏函数import functoolsdef f(a,b,c,d): print a,b,c,da='a'b='b'f1=functools.partial(f,a,b)f1('a','d')这里函数f有a,b,c,d四个变量,通过fun... 阅读全文
posted @ 2014-07-05 13:01 Xjng 阅读(1194) 评论(0) 推荐(0)
摘要:1.生成器>>> def func1():... yield 0... yield 1... >>> a=func1()>>> a.next()0>>> a.next()1>>> a.next()Traceback (most recent call last): File "",... 阅读全文
posted @ 2014-07-04 17:47 Xjng 阅读(701) 评论(0) 推荐(0)
摘要:int_ip = lambda x: '.'.join([str(x/(256**i)%256) for i in range(3,-1,-1)])ip_int = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split('.')[::-1]... 阅读全文
posted @ 2014-07-04 16:48 Xjng 阅读(1699) 评论(0) 推荐(0)
摘要:这个工具类十分简单和简洁。sql拼接方法# encoding=utf-8from django.http import HttpResponsefrom anyjson import serializefrom django.http import HttpResponsefrom anyjson ... 阅读全文
posted @ 2014-07-03 10:31 Xjng 阅读(27446) 评论(4) 推荐(5)
摘要:事例1:l=[('main', 'router_115.236.xx.xx', [{'abc': 1}, {'dfg': 1}]), ('main', 'router_183.61.xx.xx', [{'abc': 0}, {'dfg': 1}]), ('main', 'router_5... 阅读全文
posted @ 2014-07-02 18:12 Xjng 阅读(835) 评论(0) 推荐(0)