pyThon
杨过悔
这个作者很懒,什么都没留下…
展开
-
从坷里化理解Py带参数的decorator
这个类似于oop里的AOP操作还有一个知识点就是坷里化函数函数坷里化1>>> def main(a): def test(b): print("test") print("main") return test>>> main(1)main.test at 0x02D33AE0>>>> main(1)(2)函数坷里化2第二个函数参数是函数的情况>>> de原创 2015-07-04 18:08:55 · 364 阅读 · 0 评论 -
15个最受欢迎的Python开源框架
原文:http://python.jobbole.com/72306/?replytocom=57112 本文作者: 伯乐在线 - 伯乐 。未经作者许可,禁止转载!欢迎加入伯乐在线作者团队。以下是伯乐在线从GitHub中整理出的15个最受欢迎的Python开源框架。这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。Django: Python We转载 2016-02-07 14:03:46 · 1029 阅读 · 0 评论 -
访问者模式Visitor
不管学习什么语言,Design pattern是学习该语言后的不错选择,它可以综合性的运用各种情景 简单理解什么是Visitor模式:既然是访问者模式,那就必然存在充当访问者角色的类,接着就是访问者的功能了,访问者能干什么?我们直接从语义上理解就是:访问其他对象! 源码演示:''' Created on Feb 4, 2016 @author: Linux '''原创 2016-02-04 11:59:50 · 424 阅读 · 0 评论 -
模板方式
模板方式是比较常用额,且难度比较小的什么是模板方法:从OO的角度,我们通常使用子类实现抽象类的方式来实现的.从FP的角度而言就是一个高级函数的简单使用.我们关注的是函数的签名 源码:(在ubuntu使用笨拙的英语表达,长时间的阅读外著然而没练习写,该...) '''Created on Feb 4, 2016 @author: Linux'''if __name__原创 2016-02-04 13:26:49 · 330 阅读 · 0 评论 -
策略模式
策略模式体现的是可插拔性,根据不同的策略达到目的.从而提高软件的弹性什么是策略模式:从FP角度看就是对同一函数签名的不同实现体的选择 '''Created on Feb 4, 2016 @author: Linux'''import typesif __name__ == '__main__': print("Hello World!") cla原创 2016-02-04 13:56:22 · 250 阅读 · 0 评论 -
桥接模式
桥接模式其实就是使用组合而非传统的is-a的方式来修正方法 图中Implement为主要的组建,这个我们以后会可能去修正里面的方法OperationImpl,传统的方式就是继承他,然后修正该方法.这里我们的桥接的方法就是,重新定义一个抽象类与Implement相似的类Abstraction,然后再Abstraction中类似于方法Implement的OperationImpl中调原创 2016-02-04 14:52:57 · 546 阅读 · 0 评论 -
Python内置的字符串处理函数整理
http://www.jb51.net/article/33631.htm str='python String function'生成字符串变量str='python String function'字符串长度获取:len(str)例:print '%s length=%d' % (str,len(str))字母处理全部大写:str.upper()全部小写转载 2016-04-11 09:05:54 · 518 阅读 · 0 评论 -
An Introduction to Machine Learning with Python
For the mind does not require filling like a bottle, but rather, like wood, it only requires kindling to create in it an impulse to think independently and an ardent desire for the truth. — Plut转载 2016-04-15 00:25:03 · 3274 阅读 · 0 评论 -
scrapy避免直接输出unicode
我们使用scrapy crawl xxx -o xxx.json时,scrapy时直接输出unicode格式解决方案1.pipeline中对items进一步处理class FinancePipeline(object): def __init__(self): self.file = codecs.open('../../data/ftchine原创 2016-09-29 10:02:20 · 5350 阅读 · 3 评论 -
python编码
http://in355hz.iteye.com/blog/1860787转载 2016-10-19 22:08:38 · 317 阅读 · 0 评论 -
python super绑定问题(以前没怎么注意过)
http://www.alonely.com.cn/Python/20161025/58629.html转载 2017-03-29 17:23:30 · 625 阅读 · 0 评论 -
组合模式
所谓组合模式就是利用对象组合成整体结构,简单的说就是节点的反复嵌套,类似tree结构 参考代码:"""A class which defines a composite object which can storehieararchical dictionaries with names.This class is same as a hiearchical dicti原创 2016-02-06 14:57:37 · 348 阅读 · 0 评论 -
适配模式
适配模式有主要有两种方式,对象适配和类适配,当然为了低耦合高分离,我们推荐聚合的方式,也就是对象适配的方式何为适配:加入你需要编写一个可以绘画窗口的API,让后老板跟你说我们的前辈已经写过这样API了,唯一不同的是客户要求配色方案的不同,这时我们就可以使用适配的方式了,如在我们的NEWAPI中的方法中调用OLDAPI的方法. '''Created on Feb 5, 2016 @a原创 2016-02-05 15:33:15 · 361 阅读 · 0 评论 -
Python匿名函数
比较快活的是,Py中的FP语法很容易理解。lambda表达式实现了,对外提供数据或者函数,经典的例子有Java中使用了接口回调实现了类似的功能,不过写法冗余,不过scala里的匿名函数就强大多了一个简单的例子单参数def noName(f,y): return f(y)>>> >>> noName(lambda x:x*x,4)16>>> 多参def noNa原创 2015-07-04 09:26:27 · 441 阅读 · 0 评论 -
闭包与引用
Tip:非参考书籍,仅一己之见闭包与高级函数,高级函数里处理闭包数据时,要注意的是,如果高级函数返回的是函数,则该函数里参考的闭包数据仅是引用例如def count(): fs = [] for i in range(1,4): def f(): return i*i fs.append(f) return原创 2015-07-04 09:22:46 · 562 阅读 · 0 评论 -
操作MySql
1.使用pyMySQL操作数据库,下载点击打开链接2.解压后在跟目录py setup.py install重启一下py shell3.例子import pymysql.cursorsconnection = pymysql.connect(host='localhost',user='root',原创 2015-07-31 23:32:50 · 520 阅读 · 0 评论 -
py类隐藏数据
作为类的基本特点就是类型数据可隐藏性py默认的情况下是可以访问类型的属性的,py的类型不能说是个完整的OOP的类隐藏数据方面基本等于不可能 class Child(Parent): # define child class __age = 10 def __init__(self): print "Calling child constructor"原创 2015-10-01 13:29:47 · 377 阅读 · 0 评论 -
py模块的加载
一个文件可以当作模块的命名空间通过import XXX导入如果有多个模块呢,py指出可以使用文件夹充当命名空间,如果是文件夹的情况下,解析器会寻找该目录下的__init__.py来进行导入什么文件(模块),并将他们挂在该以文件名为名的命名空间, 例如在Phone文件加创建 这样就可以通过import导入Phone下中其所管理的模块通过locals(),查看空原创 2015-10-01 11:06:59 · 572 阅读 · 0 评论 -
python捕获多个Exception携带msg
python2.x有好几个地方不人性化,Exception是其中一个,刚开始是学py3的,后来好多开源lib都是2.x的,所以推荐初学者或者使用者使用2.x的try扑捉多个exception时需要加括号,如果不加括号则视为exception的信息 #!/usr/bin/pythondef KelvinToFahrenheit(Temperature): temp = 0原创 2015-09-30 23:25:48 · 6228 阅读 · 0 评论 -
TypeError:exceptions must be old-style classes or derived from BaseException, not str
py2.5之后不能直接把非继承自BaseException的当异常抛出,不过可以这样#!/usr/bin/pythondef functionName(level): try: if level < 1: raise Exception('Invalid level:'+str(level)) except Exception原创 2015-10-01 09:29:51 · 5731 阅读 · 0 评论 -
变量的scope
由于py是动态语言,甚至变量的声明和使用都是一个样的,所以在全局变量和局部变量的使用时,例如局部变量引用全局变量时必须加上global,不然只会被当作局部变量处理 #!/usr/bin/pythonMoney = 2000def AddMoney(): # Uncomment the following line to fix the code: globa原创 2015-10-01 10:31:21 · 657 阅读 · 0 评论 -
py模块重载
任何py模块只能被import一次,意味这模块被执行仅一次,如果要再次运行,可以使用reload 例如:aname.pyprint "load ..."def print_func(par): print "Hello : ", par return原创 2015-10-01 10:47:43 · 278 阅读 · 0 评论 -
安装python解释器
http://www.cnblogs.com/halfacre/archive/2012/07/22/2603848.html 安装python解释器安装PyDev:首先需要去Eclipse官网下载:http://www.eclipse.org/,Eclipse需要JDK支持,如果Eclipse无法正常运行,请到Java官网下载JDK安装:http://ww转载 2015-10-10 08:21:37 · 7752 阅读 · 0 评论 -
详解Python中的相对导入和绝对导入
点击打开链接好长时间没用python了,有些东西有些生疏,今天涉及到相对导入问题(顶层相对模块执行问题,找了一篇文章总结的挺好的)前言Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。Python import 的搜索路径在当前目录下搜索该模块在环境变量 PYTHONPATH 中指定的路径列表中依转载 2017-08-31 09:35:40 · 11048 阅读 · 2 评论