非纯函数和纯函数有什么区别?

问题描述:

纯函数可以带参数吗?例如,非纯函数和纯函数有什么区别?

高清转换(N):

预先感谢您

+3

这也就没有什么意义了纯函数没有参数 –

+1

@FranciscoCouzo:https://xkcd.com/221/ ;-) – NPE

+0

纯函数是指那些没有副作用。他们在工作过程中不做任何改变(例如,不打印,不改变可变对象等)。他们的论点是他们完整的投入,他们的回报价值是他们完整的产出。 – kindall

当然,他们也可以有变量中。唯一的区别是它们是否有超出输入和输出参数的副作用。没有用作“灵感”的输入参数,纯函数很难做一些有用的事情。

是的,他们可以有参数。下面的一些细节:

纯函数:功能有一定的输入(其参数),并返回一些输出 (应用它们的结果)。内置功能:

>>> abs(-2) 

给出结果:

2 

超出返回值没有影响。

非纯功能:除了返回的值,应用非纯函数可以产生的副作用,这使得一些变化到解释器或 计算机的状态。一个常见的副作用是使用打印功能生成超出返回值的附加输出值。

print(1, 2, 3) 

1 2 3