当前位置: 首页 > news >正文

【测试开发】函数进阶-纯函数

一、纯函数的概念

一个函数的返回结果,只依赖于它的参数,并且在执行过程中没有副作用,此类函数叫纯函数

二、纯函数的原则

1、变量都只在函数作用域内获取,作为函数的参数传入

2、不会产生副作用(side effects),不会改变被传入的数据或者其他数据(全局变量)

3、相同的输入保证相同的输出

三、函数的副作用

副作用是指函数被调用,完成了函数既定的计算任务,但同时因为访问了外部数据,尤其是因为对外部数据进行了写操作,从而一定程度地改变了系统环境

四、举例代码

# 函数func1返回的结果为两个参数相加的结果
def func1(a, b):return a + b# 函数func2返回的结果为参数a和外部变量var1相加的结果
var1 = 100
def func2(a):reuturn var1+a

http://www.xdnf.cn/news/999685.html

相关文章:

  • 关于transceiver复位测试
  • 亚马逊关闭Posts:站内社交梦碎,卖家流量策略急待重构
  • Babylon.js场景加载器(Scene Loader)使用指南
  • 怎么把Dify部署在Windows系统上?
  • git merge合并分支push报错:Your branch is ahead of ‘xxx‘ by xx commits.
  • AI换衣技术实现原理浅析:基于图像合成的虚拟试衣实践
  • Python 爬虫入门 Day 1 - 网络请求与网页结构基础
  • WSGI(自用)
  • 解决npm install 一直卡着不动,npm install --verbose
  • TickIt:基于 LLM 的自动化 Oncall 升级
  • 相机Camera日志实例分析之三:相机Camx【视频光斑人像录制】单帧流程日志详解
  • 如何快速删除谷歌浏览器在mac启动台生成的网页图标
  • 42 C 语言随机数生成:rand() 与 srand() 深度解析、生成指定范围随机数、应用实战
  • xilinx的gtx使用qpll,是否可以实现4lane运行不同的线速率
  • 【力扣 简单 C】21. 合并两个有序链表
  • Python训练打卡Day48
  • Jenkins 配置gitlab的 pipeline流水线任务
  • 比特币拼图解密工具
  • 利用AlphaFold3和RosettaDesign设计高热稳定工业脂肪酶变体
  • 水库水电站泄洪预警系统综合解决方案
  • NXP S32K146 T-Box 携手 SDNAND(贴片式 TF 卡):驱动汽车智能革新的黄金组合
  • 第七节 工程化与高级特性-装饰器(Decorators)的应用场景
  • 文本的数据分析
  • 过好人生:在清醒与热爱间寻找生命的光
  • Proxy arp(代理 ARP)逻辑图解+实验详解+真机实践验证
  • 基于范围的for循环
  • 【力扣 简单 C】206. 反转链表
  • 基于深度学习的异常检测系统:原理、实现与应用
  • 手机射频功放测试学习(一)——手机线性功放的主要测试指标
  • 落水人员目标检测数据集(猫脸码客第253期)