Python二次元世界-Lisp的帝国斜阳 lambda与closure
Python 二次元世界 - 函数式编程 Function , lambda 与 closure 本章讲述 Python 语言自 Lisp 语言演变而来的一些高级函数编程技巧 如闭包 (closure) 匿名函数( lambda ) 生成器 (yield) 嵌套作用域 (nested scope) 好的 Python 程序员 必须熟练掌握这几种特性 能快速地将代码移植到类 Lisp 语言 如 scheme Emacs-Lisp JavaScript Java8 中 特别提示∶在您浏览本教程时,不要强行记忆。记住一点∶在使用中学习。 1. Function Python 的函数的本质是对象方法和模块属性 声明 / 定义一个函数 def foo(): print “bar” 函数作用于对象 object/reference foo 函数的调用 foo() or obj.foo() 如果没有 return 语句 Python 函数默认返回值是 None >>> def hello(): ... print 'hello world' >>> >>> res = hello() hello world >>> res >>> print res None >>> type(res) <type 'None'> 不同其他编程语言 Python 不可以拥有多个返回值 但是你可以返回一个 类型为