闭包第一天

2022-09-09

1、闭包的作用:

可以保存外部函数的变量

2、闭包的形成条件

(1)函数嵌套

(2)内部函数使用了外部函数的变量或者参数

(3)外部函数返回内部函数,这个使用了外部函数变量的内部函数称为闭包

3、典例

 1 # 函数嵌套
 2 def func_out():
 3     # 外部函数
 4     num1 = 10
 5 
 6     def func_inner(num2):
 7         # 内部函数
 8         # 2.内部函数必须使用了外部函数的变量
 9         result = num1 + num2
10         print("结果:",result)
11 
12     # 外部函数要返回内部函数,这个使用了外部函数变量的内部函数称为闭包
13     return func_inner
14 
15 if __name__ == '__main__':
16     # 获取闭包对象
17     new_func = func_out()
18     # 执行闭包
19     new_func(10)

运行结果:

闭包第一天

 

闭包即函数嵌套,内部函数使用外部函数定义的变量,外部函数返回内部函数。

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:闭包第一天 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 带有参数的装饰器

    2022-09-18 带有参数的装饰器的实质:   因为装饰器是不能在带有参数,所以要定义带有参数的装饰器应该换一种思路。在装饰器的外面套一个函数,使用该函数返回这个装饰器。 带有参数的装饰器的实例: 1 # 装饰器 2 def return_decorator(flag): 3 def decorator(func): 4 def inner(a,b): …

    2023年4月2日
    00
  • 学习笔记——美多商城——1 美多商城项目准备

    2022-10-23 步骤: 一、创建工程仓库 (1)在“码云”上创建一个仓库,在本地盘符中创建一个文件夹,右击,使用git,将远程仓库的内容克隆到本地仓库中,点击“Git Bash Here”。将刚刚创建的远程仓库克隆,使用的命令是“git clone 刚刚远程仓库的地址(点击(克隆/下载)按钮会出现一个网址)”。之后,系统会弹出弹框,要求输入Gitee中…

    Python开发 2023年4月2日
    00
  • 使用多个装饰器

    2022-09-18 多个装饰器使用的实例: 1 # 定义一个装饰器 2 def make_p(func): 3 print(“执行装饰器make_p”) 4 5 def inner(): 6 # 对已有函数增加新的功能 7 result = “<p>” + func() + “</p>” 8 # 和已有函数保持一致,如果已有函数有返…

    2023年4月2日
    00
  • 学习笔记——Django项目中的F对象,Q对象,聚合函数,排序

    2022-09-30 F对象:   在shell中是用于两个有关联的属性之间的查询。 使用实例: 查询书籍表中阅读量大于评论量的记录 前提,进入pycharm,进入虚拟环境,进入shell环境。 首先,要使用F对象,那么就需要导入F对象 from django.db.models import F 后进行查询 BookInfo1.objects.filter…

    Python开发 2023年4月2日
    00
  • 学习笔记——Django项目中的cookie

    2022-10-05 得到cookie信息的实例联系: 在子应用中的“views.py”文件: from django.http import HttpResponse def get_cookie(request): cookies = request.COOKIES username = cookies.get(‘username’) return Ht…

    Python开发 2023年4月2日
    00
  • 学习笔记——Django项目中的过滤器,模板继承

    2022-10-08 过滤器 过滤器的含义:   过滤器即筛选出我们设定需要的,过滤掉我们不需要的数据。 过滤器使用的场景:   例如:在子应用的“views.py”中的一个类中的函数设置了一个请求在浏览器页面显示“组织内容”,例如:在“组织内容”中设置了一个“birthday:datatime.now()”。在“templates”文件夹中的“index.…

    Python开发 2023年4月2日
    00
  • 创建Django项目

    2022-09-24 在创建Django项目时,出现了    错误,查了一下,发现要创建一个Django项目,需要先使用命令: python -m pip install pytz 安装一个“时区模块”。一般错误提示中出现“xxx”模块没有发现,大概率是要进行安装一个模块或者其他。 之后创建一个Django项目: django-admin startproj…

    2023年4月2日
    00
  • 类装饰器

    2022-09-18  类装饰器的定义:   使用一个类作为一个装饰器,在类里面对已有函数添加其他功能。 类装饰器使用的一个实例: 1 class MyDecorator(object): 2 def __init__(self,func): 3 self.__func = func 4 5 def __call__(self, *args, **kwarg…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部