00.递归函数、函数属性和注解、lambda表达式,如map和filter这样的函数式编程工具。
01.函数设计概念:如何将任务分解成为更有针对性的函数(导致了聚合性)、函数将如何通信(耦合性)等。你需要深入考虑函数的大小等概念,因为他们直接影响到代码的可用性。
02.函数执行环境。函数可以通过多种办法获得输入产生输出,尽量使用参数作为输入,return语句并配合可柏霓参数的改变作为输出时,函数往往更容易理解和维护。
03.递归在Python钟并不想在Prolog或Lisp这样更加深奥的语言钟那样常用,因为Python强调像循环这样的简单的过程式语句,循环语句通常更为自然。
04.间接函数调用:由于Python函数式对象,我们可以白那些同员工的处理它们的程序。函数对象可以赋值给其他名字、传递给其他函数,嵌入到数据结构、从一个函数返回给另一个函数。
05.从语法上将,函数注解编写在def头部行,就像域参数和返回值相关的任一表达式式一样。对于参数,它们出现在紧随参数名之后的冒号之后,对于返回值,它们编写与于紧跟在参数列表之后的一个->之后。
06.lambda的一般形式式关键lambda,之后式一个或多个参数,紧跟的式一个冒号,之后式一个表达式:
07.这是有意设计的——它限制了程序的嵌套:lambda是一个为编写简单的函数而设计的,而def用来处理更大的任务。
08.lambda表达式:
*lambda是一个表达式,而不是一个语句。
*lambda的主体是一个单个的表达式,而不是一个代码块。
09.“lambda”这个名称似乎常常会让人害怕,但没忽悠那么严重。这个名称来自LISP,而LISP是从lambda calculus取得这个名称的。不过,在Python中,这其实只是一个关键词,作为引入表达式的语法而已。除了集成了数学的含糊性,lambda比想象得要容易使用。
10.lambda在函数调用参数里作为行内临时函数得定义,并且该函数在程序中不在其他地方使用时也是很方便得。
11.程序对列表和其他序列常常要做一件事就是对每一个元素进行操作并把其结果集合起来。
12.map函数时用来进行函数式编程得这类工具中最简单得内置函数代表:函数式百年城得意思就是对序列应用一些函数的工具。
13.filter:测试函数过滤出一些元素。