摘要: //依据参数个数重载函数 function addMethod (obj,name,fn) { var old=obj[name]; obj[name]=function(){ if (fn.length===arguments.length) { return fn.apply(obj,arguments); }else ... 阅读全文
posted @ 2017-02-22 19:58 瘸腿 阅读(280) 评论(0) 推荐(0) 编辑
摘要: thunkify这种函数其实就是python的decorator方式,对目标方法进行一步步的wrap,但是这种方式和generator结合起来就会威力无穷了,实现自动异步功能。 thunkify使用一般分为三步,这里以fs.readFile这个非阻塞函数为例. 1.用thunkify wrap要调用 阅读全文
posted @ 2016-12-16 11:56 瘸腿 阅读(1533) 评论(0) 推荐(0) 编辑
摘要: 正则表达式就原理来讲,只有一点点东东,就是一个状态机,只能用在上下文无关文法的环境。 但是它使用还是非常灵活的,那些厉害的,能够玩出花来,工作效率提高很多。 1.常见正则表达式符号 在正则表达式中嵌入一个或者多个特殊标记参数(或者通过函数方法) i:不区分大小匹配 m:多行文本 ^ $会去尝试匹配每 阅读全文
posted @ 2016-06-24 22:49 瘸腿 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 有许多理由给CPython写扩展,比如 1.性能低 2.重复用别人的C/C++代码 3.在自己的程序中定制python 4.为了方便 等等。 写这种扩展其实都是套路,不过最好要有对CPython源码有点熟悉。 添加C完成的 module有两种方法 1.直接修改python源代码,写好自己的modul 阅读全文
posted @ 2016-06-20 10:32 瘸腿 阅读(783) 评论(0) 推荐(0) 编辑
摘要: 背景知识: 在Python中一个function要运行起来,它在python VM中需要三个东西。 Python正是通过这三样东西模拟0x86的函数调用的 在python中 coroutine(协程)被称为的generator,这两个东西在python其实是同一个东东,之所以如此称呼是因为它有迭代器 阅读全文
posted @ 2016-06-17 15:46 瘸腿 阅读(1578) 评论(0) 推荐(0) 编辑
摘要: 学好和用好python, descriptor是必须跨越过去的一个点,现在虽然Python书籍花样百出,但是似乎都是在介绍一些Python库而已,对Python语言本身的关注很少,或者即使关注了,但是能够介绍把 dscriptor介绍清楚的,是很少的,到目前,我自己还没有见到过。 一个attr能被称 阅读全文
posted @ 2016-06-15 15:06 瘸腿 阅读(823) 评论(0) 推荐(1) 编辑
摘要: 背景知识: index表示在数组中的下标,id表示这个触控点(pointer)的id,pointer对应的index子不同的MotionEvent中是可以变化的, 但是它的id是不会变的。 在不同的控件类型上,touch事件的传递方式会不一样。 普通View的touch事件处理过程: 1.view消 阅读全文
posted @ 2016-06-15 00:03 瘸腿 阅读(334) 评论(0) 推荐(0) 编辑
摘要: python 中decorator的作用就是一个包装的作用,所谓包装指在执行真正的函数之前或者之后,我们可以有一些额外的发挥余地。 decorator形式如下 "@"的作用,我们通过这份代码产生的python bytecode来弄清楚@的作用 F:\pyweb>python -m dis decor 阅读全文
posted @ 2016-06-14 13:13 瘸腿 阅读(350) 评论(0) 推荐(0) 编辑
摘要: __slots__的作用是防止给class instance分配dict,达到控制instance 成员和节省内存的作用 不过这个__slots__只对当前类起作用,对于子类就不起重用了,子类如果没有设置__slots__,那么它还是可以任意的设置instance成员。 如果在__slots__中有 阅读全文
posted @ 2016-06-14 10:24 瘸腿 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 一个类作为metaclass的时候,我们需要重写它的__new__方法,这个方法的参数包括要创建class object的 metaclass,类名,父类集合,类成员 这样在调用__new__的时候,就给了我们一些发挥的空间了,一般我们可以修改bases、attrs中的成员,或则根据这自己定义的一些 阅读全文
posted @ 2016-06-14 10:07 瘸腿 阅读(413) 评论(0) 推荐(0) 编辑