【Python-闭包】

Python-闭包

  • ■ 闭包特性
  • ■ 简单闭包
  • ■ 使用nonlocal关键字修改外部函数的值
  • ■ 使用闭包实现ATM小案例

■ 闭包特性

在这里插入图片描述

■ 简单闭包

def outer(logo):def inner(msg):print(f"<{logo}>{msg}<{logo}>")return innerfn1 = outer("程序员")
fn1("大家好")
fn1("大家好")

■ 使用nonlocal关键字修改外部函数的值

fn2 = outer("大学教育")
fn2("大家好")
# 使用nonlocal关键字修改外部函数的值
def outer(num1):def inner(num2):nonlocal num1num1 += num2print(num1)return innerfn = outer(10)
fn(10)
fn(10)
fn(10)
fn(10)

■ 使用闭包实现ATM小案例

def account_create(initial_amount=0):def atm(num, deposit=True):nonlocal initial_amountif deposit:initial_amount += numprint(f"存款:+{num}, 账户余额:{initial_amount}")else:initial_amount -= numprint(f"取款:-{num}, 账户余额:{initial_amount}")return atmatm = account_create()atm(100)
atm(200)
atm(100, deposit=False)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2979667.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

node.js版本降级/升级

第一步.先清空本地安装的node.js版本 按健winR弹出窗口&#xff0c;键盘输入cmd,然后敲回车&#xff08;或者鼠标直接点击电脑桌面最左下角的win窗口图标弹出&#xff0c;输入cmd再点击回车键&#xff09; 进入命令控制行窗口&#xff0c;输入where node&#xff0c;查看本地…

2024年深圳杯东三省数学建模联赛A题论文首发+问题一代码分享

深圳杯A题论文代码分享资料链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1L2NVgoefSW-yuqZjEB3wcw 提取码&#xff1a;sxjm 基于优化模型的多个火箭残骸的准确定位 摘要 在现代航天技术中&#xff0c;火箭是实现空间探索的关键工具。由于火箭发射过程中的高成…

matlab新手快速上手3(差分进化算法)

本文用经典差分进化框架模板&#xff0c;对matlab新手友好&#xff0c;快速上手看懂matlab代码&#xff0c;快速应用实践&#xff0c;源代码在文末给出。 差分进化算法定义&#xff1a; 差分进化算法&#xff08;Differential Evolution&#xff0c;简称DE算法&#xff09;是…

RD77MS2 三菱iQ-R系列2轴简单运动模块(SSCNETⅢ/H型)

RD77MS2 三菱iQ-R系列2轴简单运动模块(SSCNETⅢ/H型) RD77MS2用户手册,RD77MS2外部连接,RD77MS2规格。RD77MS2参数说明&#xff1a;2轴;SSCNETⅢ/H连接&#xff0c;位置控制、同步控制、速度.转矩控制、轨迹控制;控制单位mm、inch、degree、pulse;定位数据600数据轴。 RD77MS2图…

导出JVM的线程信息

1. 查询出Java应用的进程的PID ps -ef|grep java 此时的PID是 33 2. 使用JDK自带的工具jstack导出日志 jstack -l 33 > 2022jstack.log 3.然后直接下载

Python 基础、流程、容器、函数

一、基础语法 1.1 前言 1.1.1 Python简介 Python是一门编程语言&#xff0c;Python的作者是Guido van Rossum&#xff08;龟叔&#xff09; Python优点&#xff1a;简单易学 Python与嵌入式、集成电路行业 强大的库和工具生态系统&#xff1a;Python拥有广泛而强大的库和…

免费GPU Google Colab保姆级使用攻略,实现数据集快速下载

Colab&#xff08;Colaboratory&#xff09;是一个基于云的交互式开发环境&#xff0c;专为数据科学、机器学习和人工智能任务设计。Colab 由 Google 提供&#xff0c;允许用户在浏览器中直接编写、运行、共享和协作处理 Python代码&#xff0c;特别是那些涉及大数据处理、计算…

semaphore信号量使用+原理分析

1.概述 Semaphore 信号量&#xff0c;相当于一个计数器&#xff0c;通常用来限制线程的数量。 每个线程操作前会先获取一个许可证&#xff0c;逻辑处理完成之后就归还这个许可证。 通俗的解释&#xff1a;相当于一个停车场&#xff0c;有10个停车位&#xff0c;进来一个车&am…

比较器仿真PSS+PNOISE测噪声

没有目录标题 一、参考二、PSSPnoise测输入噪声电压三、具体步骤&#xff1a;1.设置PSS&#xff1a;2.设置pnoise&#xff1a;3.根据仿真结果计算输出噪声电压 4.计算比较器的gain和输入噪声电压4.1 计算gain的方式一和对应的输入噪声电压4.2 计算gain的方式二和对应的输入噪声…

电脑提示msvcp110.dll是什么意思?7个实测有效方法教你搞定

在使用Windows操作系统的过程中&#xff0c;用户难免会遭遇与动态链接库&#xff08;DLL&#xff09;文件相关的问题&#xff0c;其中MSVCP110.dll便是其中之一。作为Microsoft Visual C Redistributable Package的重要组成部分&#xff0c;MSVCP110.dll对于许多基于C开发的应用…

【MySQL 数据宝典】【磁盘结构】- 005 Undo log 撤销日志

一、基本介绍 ​ 每当我们要对一条记录做改动时&#xff08;这里的改动可以指 INSERT 、 DELETE 、 UPDATE &#xff09;&#xff0c;都需要留一手 -> 把回滚时所需的东西都给记下来 ​ 你插入一条记录时&#xff0c;至少要把这条记录的主键值记下来&#xff0c;之后回滚的…

用于便携可穿戴设备的RX8130CE

用于便携可穿戴设备的时钟芯片模块:RX8130CE。时钟芯片模块RX8130CE&#xff0c;其特点是3225小尺寸和电池控制&#xff0c;可应用于可穿戴设备RX8130CE具有自动电源切换功能&#xff0c;可监视电源电压&#xff0c;并通过自动操作切换到备用电源&#xff0c;备用电源的开关电压…

PPT设置日期随改动而更新

点击插入——点击日期和时间 弹出的新窗口中勾选自动更新日期和时间

电脑上怎么调照片尺寸?这几个方法方便又好用

平时我们在制作幻灯片演示时&#xff0c;调整图片的大小可以确保图片适应幻灯片的布局&#xff0c;并提供清晰的展示效果&#xff0c;单张处理起来的话就比较浪费时间&#xff0c;但是通常我们需要批量去修改图片尺寸大小&#xff0c;这就需要用到比较专业的图片处理工具了&…

40-50W 1.5KVDC 隔离 宽电压输入 DC/DC 电源模块 ——TP40(50)DC 系列

TP40(50)DC系列电源模块额定输出功率为40-50W、应用于2:1、4&#xff1a;1电压输入范围 9V-18V、18V-36V、36V-75V、9V-36V、18V-75V的输入电压环境&#xff0c;输出电压精度可达1%&#xff0c;可广泛应用于通信、铁路、自动化以及仪器仪表等行业。

视频不够清晰怎么办?教你几种有效方法

在我们日常生活中&#xff0c;有时候我们会遇到不清晰的视频&#xff0c;这给我们带来了很多不便。那么&#xff0c;怎么将不清晰的视频变清晰呢&#xff1f;本文将为您介绍一些常用的软件工具&#xff0c;帮助您提升视频的清晰度。 方法一&#xff1a;使用AI技术 AI技术可以通…

Python写个二维码

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、进入官网下载二、下载一下三.输入代码 前言 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、进入官网下载 官网 pip insta…

【C++庖丁解牛】C++11---右值引用和移动语义

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1 左值引用和右值引用2 左…

牛客NC179 长度为 K 的重复字符子串【simple 哈希,滑动窗口 C++、Java、Go、PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/eced9a8a4b6c42b79c95ae5625e1d5fd 思路 哈希统计每个字符出现的次数。没在窗口内的字符要删除参考答案C class Solution {public:/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c…

Day08-Java进阶-递归异常及其处理自定义异常

1. 递归 package com.itheima.recursion;public class RecursionDemo3 {/*不死神兔(斐波那契额数列)*/public static void main(String[] args) {int sum getSum(20);System.out.println(sum);}public static int getSum(int n) {if (n 1 || n 2) {return 1;} else {return …