首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第55p,闭包函数,函数知识的综合运用

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第55篇文章,第三阶段的课程:Python进阶知识:Python进阶知识:详细讲解Python中的函数(八)====> 函数的嵌套调用之闭包函数。

函数是非常重要的内容,在这里,我会用10篇左右的文章详细讲解Python中函数定义与使用的规则。

阅读提醒:建议小白先看一遍:【计算机基础知识】和【Python基础知识】课程,否则你不一定听得懂!

一、什么是闭包函数

1、什么是闭包函数

闭:就是封闭,指函数在定义在另一个函数内的函数,即一个函数是另一个函数的子函数;

包:就是包裹,指该函数包含对外层函数作用域的引用,即在该函数内又做了对上层函数的引用(非全局作用域)。

闭包函数是我们对前面所学的函数知识的综合运用;学会闭包函数,本质上我们并没有学习新的知识点。

闭包函数=名称空间与作用域+函数嵌套+函数对象;这三者的综合应用就是闭包函数。

举例说明:

在上面的例子中,无论在任何地方调用f这个函数,变量x的值永远都是10;这里充分说明了:函数中名字的查找关系是以函数定义阶段为准,无论在哪调用函数,都必须返回到函数定义阶段判断名字之间的关系。【重要】

2、定义闭包函数

闭包函数=名称空间与作用域+函数嵌套+函数对象;这三者的综合应用就是闭包函数。

闭包函数的本质就是装饰器;也可以说,装饰器的本质就是闭包函数。

def fun():

x = 111

def fun2():#函数定义在fun内,即闭

print(x)   #函数内包含对外层函数作用域的引用,即包。

闭包函数,我们应该比较多的场景在于装饰器、以及一些公共方法上面;后面会详细讲关于装饰器的使用。

以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。

感谢您的阅读,您的三连【关注、点赞、收藏】就是对我最大的支持,谢谢!

本文由杨数Tos原创,欢迎关注,带你一起长知识。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200731A0JZHT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券