▌编程式函数
在命令式编程中,你需要给计算机一系列任务,然后计算机会一一执行。在执行过程中,计算机可以改变其状态。举个例子,假设你将 A 的初始值设为 5,接下来你还可以改变 A 的值。在变量内部值变化的层面来讲,你可以掌控这些变量。
在函数式编程中,你无需告诉计算机去做什么,而是为它提供一些必要的信息。如什么是一个数字的最大公约数,1 到 n 的乘积是多少等等。
由于这样,变量就无法改变了。一旦你设置了一个变量,它就会永远保持初始状态(注意:在纯函数式语言中,它们不叫作变量)。因此在函数式编程中,函数不会产生“副作用”。“副作用”是指函数可能会修改外部变量的值。让我们通过一个典型的 Python 例子来看一下:
在命令式编程中,你需要给计算机一系列任务,然后计算机会一一执行。在执行过程中,计算机可以改变其状态。举个例子,假设你将 A 的初始值设为 5,接下来你还可以改变 A 的值。在变量内部值变化的层面来讲,你可以掌控这些变量。
在函数式编程中,你无需告诉计算机去做什么,而是为它提供一些必要的信息。如什么是一个数字的最大公约数,1 到 n 的乘积是多少等等。
由于这样,变量就无法改变了。一旦你设置了一个变量,它就会永远保持初始状态(注意:在纯函数式语言中,它们不叫作变量)。因此在函数式编程中,函数不会产生“副作用”。“副作用”是指函数可能会修改外部变量的值。让我们通过一个典型的 Python 例子来看一下: