美文网首页
Python 函数式编程

Python 函数式编程

作者: Reiser实验室 | 来源:发表于2018-11-29 18:02 被阅读4次

Python 支持函数式编程,它是一种编程范式。我把它理解为可以将函数作为参数一样在函数间相互传递,十分的灵活。

1.作为方法参数

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

print(add(10,-10,abs))

# ~ >>20

上面的例子将 abs 求绝对值的函数传入到 add 函数中,实现了绝对值相加的效果.如果我想 x、y 在求平方后再相加,可以自己写一个函数传入

def add(x,y,f=abs):
    return f(x)+f(y)
def pow2(x):
    return x*x
print(add(10,-10,pow2))

# ~ >> 200

2.作为返回值

# return function
def lazy_sum(*args):
    def sum():
       return reduce(lambda x,y:x+y,args)
    return sum

s=lazy_sum(1,2,3,4,5)
print(s)
print(s())

# ~ >> <function lazy_sum.<locals>.sum at 0x10069d0d0>
# ~ >> 15

lazy_sum 是一个求和的函数,但它的返回值并不是一个数字,而是一个求和函数,需要你当作函数运行时才执行。

Python 在学习的过程中最让我着迷的是它的灵活性:动态类型,函数式编程,返回元组。Java 确实更适合大团队使用,约束性更强,让你知道如何当好一名程序员。但 Python 更能让你体会到作为一个创作者的快乐,写了几年代码,最难受的是自己不能完全独立的实施自己想法,把编程作为自己提升工作、生活效率的方法,希望 Python 的学习能解决我的真实问题。

相关文章

  • 高阶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/ianfcqtx.html