美文网首页
Python 函数式编程

Python 函数式编程

作者: 竞技等级几点叫你你呢 | 来源:发表于2017-09-05 22:21 被阅读0次

高阶函数

能接受函数做参数的函数

变量可以指向函数
函数的参数可以接受变量
一个函数可以接受另外一个函数作为参数
能接收函数作参数的函数就是高阶函数

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

print(add(1,-2,abs))
结果:3

map() 函数

是 python 内置的高阶函数
map(f,list),接收一个函数 f,和一个 list 集合,将函数 f 依次作用在 list 集合上,返回一个新的集合。

def f(x):
    return x*x

list = [1,2,3]
new_list = map(f,list)

for i in new_list:
    print(i)

结果:1 4 9 

reduce() 函数

在python3中去掉了

filter() 函数

filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。

def is_odd(x):
    return x % 2 == 1

filter(is_odd, [1, 4, 6, 7, 9, 12, 17])

结果为:[1, 7, 9, 17]

sorted() 函数


age_list = [56,23,45,12,2]
new_age_list = sorted(age_list)

for i in new_age_list:
    print(i)

匿名函数 lambda

关键字lambda 表示匿名函数,:前面的为函数的参数
map(lambda x : x * x,list)

decorator 装饰器

极大的简化代码,避免每个函数编写重复性的代码

本质上是一个高阶函数,接收一个函数作为参数,然后,返回一个新函数

@log 
调用函数时候,打印信息

相关文章

  • 高阶python 函数式编程

    高阶python 函数式编程 - 函数式 函数式编程(FunctionalProgramming) - 基于lam...

  • Python函数式编程

    虽然 Python 不是函数式编程语言(是命令式编程语言),但是支持许多有价值的函数式编程工具。Python 提供...

  • Python函数式编程指南

    注:采转归档,自己学习查询使用 Python函数式编程指南(1):概述Python函数式编程指南(2):函数Pyt...

  • Python进阶语法——函数式编程、模块,面向对象

    一、 Python进阶学习 一、函数式编程 1.1函数式编程 1.2高阶函数 1.2.1 import mathd...

  • Python高阶函数

    本篇将介绍Python的函数式编程,介绍高阶函数的原理,更多内容请参考:Python学习指南 函数式编程 函数是P...

  • Python进阶笔记

    文|Seraph 函数式编程 1 纯函数式编程:不需要变量、没有副作用、测试简单2 Python不是纯函数式编程(...

  • python函数式编程

    函数式编程指引 — Python 3.7.3 文档

  • Python 中的函数式编程 - PyTips 0x02

    项目地址:https://git.io/pytips Python 中的函数式编程 函数式编程(英语:functi...

  • python必知必会7

    Python 支持函数式编程吗? 近些年来,由于函数式编程易于调试和测试的优点,函数式编程越来越受到关注。虽然 P...

  • 向量化

    python向量化本身做得不是很好需要借助函数式编程或者列表推导式实现 1 列表推导式 2 函数式编程

网友评论

      本文标题:Python 函数式编程

      本文链接:https://www.haomeiwen.com/subject/buvpjxtx.html