非纯函数和纯函数有什么区别?
答
当然,他们也可以有变量中。唯一的区别是它们是否有超出输入和输出参数的副作用。没有用作“灵感”的输入参数,纯函数很难做一些有用的事情。
答
是的,他们可以有参数。下面的一些细节:
纯函数:功能有一定的输入(其参数),并返回一些输出 (应用它们的结果)。内置功能:
>>> abs(-2)
给出结果:
2
超出返回值没有影响。
非纯功能:除了返回的值,应用非纯函数可以产生的副作用,这使得一些变化到解释器或 计算机的状态。一个常见的副作用是使用打印功能生成超出返回值的附加输出值。
print(1, 2, 3)
1 2 3
这也就没有什么意义了纯函数没有参数 –
@FranciscoCouzo:https://xkcd.com/221/ ;-) – NPE
纯函数是指那些没有副作用。他们在工作过程中不做任何改变(例如,不打印,不改变可变对象等)。他们的论点是他们完整的投入,他们的回报价值是他们完整的产出。 – kindall