摘要: 编写无参数decoratorPython的decorator本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数。使用 decorator 用Python提供的 @ 语法,这样可以避免手动编写 f = decorate(f)这样的代码。考察一个@log的定义:def log(f): ... 阅读全文
posted @ 2015-03-11 20:38 hi_23 阅读(177) 评论(0) 推荐(0)
摘要: 闭包在函数内部定义的函数和外部定义的函数是一样的,只是他们无法被外部访问:def g(): print 'g()...'def f(): print 'f()...' return g将 g 的定义移入函数 f 内部,防止其他代码调用 g:def f(): print 'f(... 阅读全文
posted @ 2015-03-11 18:44 hi_23 阅读(230) 评论(0) 推荐(0)
摘要: 把函数作为参数高阶函数:def add(x, y, f): return f(x) + f(y)如果传入abs作为参数f的值:add(-5, 9, abs)根据函数的定义,函数执行的代码实际上是:abs(-5) + abs(9)由于参数 x, y 和 f 都可以任意传入,如果 f 传入其他函数... 阅读全文
posted @ 2015-03-11 17:45 hi_23 阅读(343) 评论(0) 推荐(0)