首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python学习笔记:函数的闭包

python学习笔记:函数的闭包

作者头像
python学习教程
发布2019-11-27 16:01:35
3800
发布2019-11-27 16:01:35
举报
文章被收录于专栏:python学习教程python学习教程

本文主要学习闭包的定义和调用,理解闭包的作用,闭包在编程中会起到简化代码的作用,是一个很重要的知识点,让我们来详细看看。

前言

函数的闭包其实和函数的嵌套很相似,大家对于函数的嵌套应该是很熟悉的,那么先写一个简单的函数嵌套案例:

Python培训笔记-函数的闭包" alt="Python培训笔记-函数的闭包" style="box-sizing: border-box; padding-top: 0.6rem; padding-bottom: 1.5rem; list-style: none; border-width: 0px; border-style: initial; border-color: initial; outline: none; vertical-align: middle;" class="" data-ratio="0.28192371475953565" data-w="603" data-type="png">

当然这样去写两个数之和的函数,没有必要,而且还增加了代码量。

闭包

和嵌套不同,闭包的外部函数返回是一个函数,而不是一个具体的值,我们将上面的代码改为闭包。

这里外部函数返回的是add函数名,那我们怎么去调用闭包了?

我们先调用sum函数,用type方法看看调用结果的类型:

从结果可以看出,结果是一个函数类,我们需要在此基础上再进行传参,才能完成整个闭包功能。

上面的求和功能中,可能使用闭包的作用不大,而且还不如定义一个函数那么来的实在。

我们接下来计算下一个数的n次幂,用闭包写如下:

当然,我们也可以通过一个函数来写这个功能:

但是,使用闭包,可以让程序变得更加简洁易懂,我们想想,如果需要计算多个数的平方,就可以看出这两种方法调用的不同了。

显然,闭包的使用更加简洁,每次调用都少输入一个参数。

以上就是本文的全部内容。

ps:推荐一下我建的python学习交流扣扣qun:937667509,群里有免费的视频教程,开发工具、电子书籍、项目源码分享。学习python web、python爬虫、数据分析、大数据,人工智能等技术有不懂的可以加入一起交流学习,一起进步!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档