1. 概念
一个函数的返回结果只依赖于他的参数,并且只执行过程里面没有副作用,我们就把这个函数叫做纯函数
2. 3个原则
- 变量都只在函数作用域内获取,作为函数的参数传入
- 不会产生副作用,不会改变被传入的数据或者其他数据(全局变量)
- 相同的输入保证相同的输出
以上原则中,函数的副作用需要解释一下:
副作用是指函数被调用,完成可函数既定的计算任务,但同时因为访问了外部数据,尤其是因为对外部数据进行了写操作,从而一定程度的改变了系统环境。
3. 示例
# 函数func1返回的结果为两个参数相加的结果
def func1(a, b):
return a + b
var1 = 100
# 函数func2返回的结果为参数a和外部变量var1相加的结果
def func2(a):
return var1 + a
# 在上面的两个案例中,func1返回的结果只受传入的参数的影响,而func2不仅受传入参数的影响而且还会受外部变量var1的影响,
像func1这样的返回值只跟传入参数有关的函数我们把它叫做纯函数
最后总结一下:
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:软件测试技术群:593462778,群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。
作者:暗潮汹涌
原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。