专栏首页一番码客python之函数式编程

python之函数式编程

函数式编程

没有“边界效应”的函数:在任何情况下,使用相同参数调用函数产生的结果始终相同,即没有函数内部状态的变化会影响输出结果。在python中,如果函数里包含有全局变量之类的可变数据结构,就是有“边界效应”的函数。

纯函数:没有“边界效应”的函数。

由于python允许使用变量,因此python不是纯函数式的编程语言。

函数式编程一大特点就是,允许把函数本身作为参数传入另一个函数, 并且允许返回一个函数。

函数式编程的优点

● 没有边界效应, 使开发者更容易从逻辑上证明程序的正确性。

● 模块化, 崇尚简单原则, 一个函数只做一件事情, 将大的功能拆分为尽可能小的模块, 模块越小越简单, 就更易读易排查错误。

● 组件化, 模块越小, 就更容易组合利用, 从而构建新的功能模块。

● 易于调试和测试, 因为函数定义足够清晰、 功能足够细化, 所以调试变得更加简单,测试起来也更容易。

● 提升生产率, 相比其他开发方式, 代码更简洁, 代码量更少, 使程序更容易阅读和维护, 生产效率更高 。

参考:- 《物联网Python开发实战》

本文分享自微信公众号 - 一番码客(efonmark),作者:efonfighting

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python套路-函数式编程之匿名函数与偏函数

    当调用函数时, 有时不需要显示定义好一个函数, 直接传入一个匿名函数更为方便。python可使用lambda表达式创建匿名函数。

    efonfighting
  • python函数式编程之高阶函数

    这里以内置函数abs()为例,可以把abs函数赋值给另一个变量,然后这个变量就等同于abs函数了。

    efonfighting
  • Python函数式编程之内置高阶函数

    前面我们介绍了高阶函数,python自带了一些高阶函数,也就是python内置高阶函数。

    efonfighting
  • python笔记:#012#函数

    gongluck
  • python笔记:#012#函数

    函数基础 目标 函数的快速体验 函数的基本使用 函数的参数 函数的返回值 函数的嵌套调用 在模块中定义函数 01. 函数的快速体验 1.1 快速体验 所谓函数,...

    _gongluck
  • C语言之函数

      结构化程序设计主张按功能来分析需求,主要原则自顶向下,逐步求精,模块化等。 主张按功能把软件系统逐步细分,每个功能都负责对数据进行一次处理,每个功能接收一些...

    互联网金融打杂
  • 聊一聊编程中的函数

    给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表...

    算法与编程之美
  • Matlab系列之那些数学函数(讨论功能已加入)

    本来是打算写关于矩阵的一些东西,但是弄了一半,发现需要的线代知识有点多,直接讲相关的使用,就太直白了,可能根本无法理解是什么意思,如果讲线代的知识,就感觉和该系...

    狂人V
  • 即学即用系列一:纯函数

    最近一直在思考如何通过文章或者培训快速提升团队的编码能力,总结下来其实技术的学习分为两类:一种是系统性的学习,比如学习一门语言,学习一个开发框架,这更需要自己从...

    司想君
  • 【融职培训】Web前端学习 第3章 JavaScript基础教程6 函数基础

    函数是一个可执行的语句块,定义的时候不执行,调用的时候执行,使用"函数名()"的形式可以调用函数, 语法如下所示:

    学习猿地

扫码关注云+社区

领取腾讯云代金券