编程中的函数和数学中的函数是一样的,即将每一输入元素映射到输出元素的一种关系。编程中的函数,可以有多个参数;其实数学中也有多个参数的函数。编程中的函数,有时候可以返回多个值组成的一个数组。
一、编程中的函数和数学中的函数
编程中的函数和数学的函数是一样的,即将每一输入元素映射到输出元素的一种关系。
编程中的函数,可以有多个参数;其实数学中也有多个参数的函数。
编程中的函数,有时候可以返回多个值组成的一个数组;数学中也常有这样的例子,比如复变函数,返回一个复数。
编程中的函数,还可以是函数的函数,我们称为高阶函数;数学中也有这样的高阶函数。
但是,编程中的函数除了映射之外,还可能做一些其他事情,比如在屏幕上输出一些东西出来;这个就不象数学上的函数了,这种额外的功能,称为旁效。
Lua本身有函数式编程的元素,如果你有兴趣以后可以学习一些函数式编程语言,如Haskell或Scala,在这种编程思维下,所有的电脑运算都看作函数。
较传统的指令式编程将程序看作是一条条指令执行的集合体,函数式编程则将程序看作是输入和输出之间的映射关系。其基础λ验算本身就是一个严格的数学概念。
函数式编程有几个优点:
- 有完备的数学基础,更容易理解其逻辑
- 测试更容易,而且不太容易出错
- 非常强大,可以简单实现高度抽象化
- 和平行计算等概念很兼容
因为这些优点,即使不是函数式编程语言最近也有越来越偏向于函数式的趋势,例如Java从7到8就增加了大量函数式功能。
函数式编程有一些表面的缺点,
- 门槛高,感觉难学,这其实主要因为很多人在学校较早接触的编程都是指令式的
- 性能差,这主要因为早期函数编程没有专门相应的数据结构,使用一般指令式编程的数据结构会导致性能变慢
延伸阅读:
二、为什么会有库函数
1.我们知道我们在学习C语言编程的时候,总是在一个代码编写完成之后迫不及待的想知道结果,想把这个结果打印到我们的屏幕上看看,这个时候我们会频繁的使用一个功能,将信息按照一定的格式打印到屏幕上(printf)
2.在编程的过程中我们会频繁的做一些字符串的拷贝工作(strcpy)
3.在编程时我们也计算,总会计算n的k次方这样的运算(pow)
像上面我们描述的基本功能,它们不是业务性的代码,我们在开发的过程中每个程序员都可能用得到,为了支持可移植性和提高程序的效率,所以C语言的基础库中提供了一系列类似的库函数,方便程序员进行软件开发
以上就是关于编程中的函数和数学中的函数有什么区别的内容希望对大家有帮助。