闭包 ( Closure) 是词法闭包 ( Lexical Closure) 的简称, 是引用自由变量的函数。这个被引用的自由变量将与这个函数一同存在, 即使已经离开创造它的环境也不例外。所以, 闭包是由函数和与其相关的引用环境组合而成的实体。闭包是函数式编程的重要语法结构。
Python 也支持这一特性。在 Python 中创建一个闭包可以归结为以下三点:
● 闭包函数必须有内嵌函数;
● 内嵌函数需要引用上一级函数的变量;
● 闭包函数必须返回内嵌函数。
举个闭包例子:
#! /usr/bin/env python
def GreetingConfig(prefix):
def greeting(postfix):
print(prefix, postfix)
return greeting
M = GreetingConfig("good morning")
M("efon")
M("fighting")
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有