摘要: sorted很简单,没太多好写的 ,只是给自己做个笔记。 sorted接受三个参数,返回一个排序之后的list。 第一个接受一个可迭代的对象(因为sorted实现了迭代协议,所以接受的参数不一定需要list,可以迭代的对象就可以,也是duck typing),返回一个排序之后的列表。 第二个接受一个 阅读全文
posted @ 2017-05-28 18:53 BlackMatrix 阅读(10920) 评论(0) 推荐(0) 编辑
摘要: 简单一句话,当一个类实现__call__方法时,这个类的实例就会变成可调用对象。 直接上测试代码 注意,是这个类的实例变成可调用对象,类的实例变成可调用对象,类的实例变成可调用对象,而不是改变这个类的实例化行为。 那么,如果要改变一个类的被实例化行为呢? 当然要用上黑魔法元类了,因为类本身就是元类的 阅读全文
posted @ 2017-05-25 21:21 BlackMatrix 阅读(2990) 评论(2) 推荐(0) 编辑
摘要: defaultdict是dict的一个子类,接受一个工厂函数作为参数,当访问defaultdict中不存在的key时,会将工厂函数的返回值作为默认的value。 测试代码 完整代码: https://github.com/blackmatrix7/python-learning/blob/maste 阅读全文
posted @ 2017-05-25 20:32 BlackMatrix 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 首先,需要知道两点: 对于__getattribute__,大部分例子都是类似这样的,通过重写类的__getattribute__方法,来改变这个类的实例的属性读取行为。 但是换个角度想想,类本身也是type类的实例,如果重写type类的子类,也就是元类的__getattribute__的方法,不就 阅读全文
posted @ 2017-05-23 21:07 BlackMatrix 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 在Python 3.4 中,新增一个方法unwrap,用于将被装饰的函数,逐层进行解包装。 inspect.unwrap(func, *, stop=None) unwrap方法接受两个参数:func为需要解包装的函数;stop接受一个单参数的函数,作为回调函数,每次会将即将解包装的函数对象传入到回 阅读全文
posted @ 2017-05-18 21:11 BlackMatrix 阅读(2173) 评论(0) 推荐(0) 编辑
摘要: 看《Python cookbook》的时候,第9.5部分,“定义一个属性可由用户修改的装饰器”,有个装饰器理解起来花了一些时间,做个笔记免得二刷这本书的时候忘了 完整代码:https://github.com/blackmatrix7/python-learning/blob/master/pyth 阅读全文
posted @ 2017-05-13 22:59 BlackMatrix 阅读(659) 评论(0) 推荐(0) 编辑
摘要: 先上结论: 下面,使用一些例子,对上述结论进行检测、验证。 测试的例子中,我们创建一个装饰器、一个函数及一个类,这个类包含:实例方法、类方法、静态方法及被装饰器装饰的方法。 完整代码: https://github.com/blackmatrix7/python-learning/blob/mast 阅读全文
posted @ 2017-05-12 21:29 BlackMatrix 阅读(41461) 评论(1) 推荐(3) 编辑
摘要: 查找资料,基本上判断python对象是否为可调用的函数,有三种方法 使用内置的callable函数 用于检查对象是否可调用,返回True也可能调用失败,但是返回False一定不可调用。 官方文档:https://docs.python.org/3/library/functions.html?hig 阅读全文
posted @ 2017-05-09 16:09 BlackMatrix 阅读(9126) 评论(0) 推荐(1) 编辑
摘要: 最近做web api,需要在接口返回异常时,返回对应的http code。 查了下tornado的文档,是通过set_status方法来设置返回的http code,做个记录。 阅读全文
posted @ 2017-05-08 15:49 BlackMatrix 阅读(1578) 评论(0) 推荐(0) 编辑
摘要: 需要先安装freetds 先用 brew list 查看已经安装的包 如果已经安装freetds,则使用 brew uninstall freetds先卸载 brew unlink freetds brew uninstall freetds 再安装 0.91版本 brew install free 阅读全文
posted @ 2017-04-21 14:10 BlackMatrix 阅读(4345) 评论(0) 推荐(1) 编辑