Python入门
  • Python入门
  • 0. 基础知识与安装
    • 0. 计算机基础知识
    • 1. Windows下安装
    • 2. 通过软件包管理器安装
    • 3. 通过源码安装
    • 4. 多版本管理
    • 5. Python的基础知识
    • 6. Python的内存管理
  • 1. 基本语法
  • 2. 内置数据结构
    • 1. 列表
    • 2. 元组
    • 3. 字符串
    • 4. bytes与bytearray
    • 5. 集合 (set)
    • 6. 字典
  • 3. 操作
    • 迭代与迭代器
    • 封装与解构
    • 解析式与生成器
    • 切片操作
    • del操作
  • 4. 函数
    • 1. 函数的定义与调用
    • 2. 函数的参数与参数解构
    • 3. 函数的返回值
    • 4. 函数的作用域
    • 5. 闭包
    • 6. 默认值的作用域
    • 7. 递归
  • 5. 高阶函数
    • 0. 柯里化
    • 1. 高阶函数
    • 2. 装饰器
    • 3. 参数注解
  • A. 内建函数
  • B. 算法
    • 1. 排序
      • 1.冒泡法排序
      • 2. 简单选择排序
      • 3. 二元选择排序
  • C. 模块
    • collections
    • copy
    • datetime
    • keyword
    • math
    • time
  • D. 习题
    • 九九乘法表
    • 打印菱形、三角形、闪电
    • 斐波那契数列
    • 求素数
    • 猴子吃桃
    • 杨辉三角
    • 转置矩阵
Powered by GitBook
On this page
  • 函数在Python中的定位
  • 高阶函数的定义
  • 自己写一个sorted函数
  • 内建函数中的高阶函数
  • sorted
  • filter
  • map

Was this helpful?

  1. 5. 高阶函数

1. 高阶函数

函数在Python中的定位

  • 函数与在Python中是一等公民

  • 函数可以作为普通变量、参数与返回值

高阶函数的定义

在数学和计算机科学中,高阶函数是至少满足下列一个条件的函数:

  • 接受一个或多个函数作为输入

  • 输出一个函数

自己写一个sorted函数

def sort(iterable , * , key=None, reverse = False):
    newlist = []
    for x in iterable:
        cx = key(x) if key else x
        for i,y in enumerate(newlist):
            cy = key(y) if key else y
            flag = cx>cy if reverse else cx<cy
            if flag:
                newlist.insert(i,x)
                break
        else:
            newlist.append(x)
    return newlist

内建函数中的高阶函数

sorted

排序

filter

过滤数据

map

映射

Previous0. 柯里化Next2. 装饰器

Last updated 6 years ago

Was this helpful?