函数式编程可以使代码更精简。 函数:filter(function_or_none, iterable) 返回通过函数function_or_none过滤iterable迭代列表后的新列表。过滤函数为None返回原列表。 list_a经过lambda函数过滤后得到列表list_b 结果: [4, 5 ...
分类:
编程语言 时间:
2019-08-25 01:03:39
阅读次数:
111
1 Lambda表达式 1.1 函数式编程思想概述 在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做数据” 面向对象思想强调“必须通过对象的形式来做事情” 函数式思想则尽量忽略面向对象的复杂语法:“强调做什么,而不是以什么形式去做” 而我们要学的Lambda表达式就是函数式思想的体 ...
分类:
其他好文 时间:
2019-08-24 18:50:34
阅读次数:
67
[TOC] 1 面向过程编程与函数式编程 截至目前我们所接触、所写的编程为:面向过程式编程【可读性差/可重用性差】 对于函数编程: 本质:将N行代码拿到别处并给他起个名字,以后通过名字就可以找到这段代码并执行。 场景: 代码重复执行 代码特别多超过一屏,可以选择通过函数进行代码的分割 2 函数的基本 ...
分类:
编程语言 时间:
2019-08-24 15:41:32
阅读次数:
123
再次看了看上篇博客的源代码,发现连自己都看不懂了。想是为了赶时间交货不知不觉又回到OOP行令模式了,看看下面这段代码: 有人能从这段代码里理解它的功能吗?本来作者的目的很简单:前端通过httprequest提交了一张图片及产品编号pid、系统读取MongoDB查找相同pid的数量count,然后将图 ...
主要的编程范式有三种:命令式编程,声明式编程和函数式编程。 命令式编程:命令式编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。比如:如果你想在一个数字集合 collection(变量名) 中筛选大于 5 的数字,你需要这样告诉计算机:第一步,创建一个存储结果的集合变量 r ...
分类:
其他好文 时间:
2019-08-23 10:30:33
阅读次数:
80
一. 函数式编程 Java8所有的新特性基本基于函数式编程的思想,函数式编程的带来,给Java注入了新鲜的活力。 下面来近距离观察一下函数式编程的几个特点: 函数可以作为变量、参数、返回值和数据类型。 基于表达式来替代方法的调用 函数无状态,可以并发和独立使用 函数无副作用,不会修改外部的变量 函数 ...
分类:
编程语言 时间:
2019-08-22 20:33:52
阅读次数:
152
Java8 新特性之集合操作Stream Stream简介 Java 8引入了全新的Stream API。这里的Stream和I/O流不同,它更像具有Iterable的集合类,但行为和集合类又有所不同。 stream是对集合对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作,或者大批 ...
分类:
编程语言 时间:
2019-08-21 00:03:50
阅读次数:
86
Scala高级特性 1. 课程目标 1.1. 目标一:深入理解高阶函数 1.2. 目标二:深入理解隐式转换 2. 高阶函数 2.1. 概念 Scala混合了面向对象和函数式的特性,我们通常将可以作为参数传递到方法中的表达式叫做函数。在函数式编程语言中,函数是“头等公民”,高阶函数包含:作为值的函数、 ...
分类:
其他好文 时间:
2019-08-20 23:48:20
阅读次数:
87
函数式编程中的函数—函数式编程的多态 保存了计算上下文和计算过程的特殊值 保存了计算上下文和计算过程的有输入输出的可计算结构。 保存了计算上下文和计算过程的可配置结构;(柯里化)。 函数作为一种特殊的值和结构,可以由更高阶的函数对其进行组合、变换、柯里化等操作; 函数作为输入和输出:本质上都是可配置 ...
分类:
其他好文 时间:
2019-08-16 20:43:15
阅读次数:
129