一、内容概要

  1. 函数式编程:注意不是“函数编程”,多了一个“式”;
  2. 模块:如何使用模块;
  3. 面向对象编程:面向对象的概念、属性、方法、继承、多态等;
  4. 定制类:利用 Python 的特殊方法定制类。

二、学习目标

  1. 掌握函数式编程;
  2. 掌握面向对象编程;
  3. 能够编写模块化的程序。

三、函数式编程

  1. 什么是函数式编程?

函数:function

函数式:functional ,一种编程范式,是一种抽象计算的编程模式。

Python 学习笔记(二)

函数式编程的特点:(1)把计算视为函数而非指令;

                                 (2)纯函数式编程:不需要变量,没有副作用,测试简单;

                                 (3)支持高阶函数,代码简洁。

Python 支持的函数式编程:(1)不是纯函数式编程:允许有变量;

                                             (2)支持高阶函数:函数也可以作为变量传入;

                                             (3)支持闭包:有了闭包就能返回函数;

                                             (4)有限度地支持匿名函数。

     2. 高阶函数

  • 变量可以指向函数 

例:>>> abs(-10)    ==> 10

       >>> f = abs  #变量 f 指向函数abs()

       >>> f(-10)   ===> 10   # 效果相同

  • 函数名其实就是指向函数的变量

例:>>> abs = len

       >>> abs (-10)   ===> 报错

       >>> abs ( [ 1, 2, 3 ] )   ===>  3

  • 高阶函数:能接收函数做参数的函数

              变量可以指向函数;

              函数的参数可以接收变量;

              一个函数可以接收另一个函数作为参数;

              能接收函数做参数的函数就是高阶函数。

 例1. 定义一个函数,接收 x, y, f 三个参数,其中 x, y 是数值,f 是函数。

         >>> def add (x, y, f) :

                       return f (x) + f (y)

         >>> add (-5, 9, abs)   ===> 14

例2. 利用 add(x, y, f) 函数,计算:

Python 学习笔记(二)

>>> import math

>>> def add(x, y, f):
              return f(x) + f(y)

>>> print add(25, 9, math.sqrt)

# 输出结果

8.0

相关文章: