python学习总结----函数闭包和函数装饰器

本文总结了Python中的函数闭包和装饰器。闭包允许引用外层函数的局部变量,提供了一种延长作用域的机制,但也可能导致内存占用。装饰器则是能够修改或增强函数功能的函数,Python内置了staticmethod、classmethod和property等装饰器,用于处理类的方法。staticmethod无self参数,classmethod的第一个参数为cls,property则用于私有化类属性的修改通道。
摘要由CSDN通过智能技术生成

函数闭包 嵌套函数的外层函数有返回值,且外层函数的返回值是内层函数,内层函数引用了外层函数的变量。
格式:

def 外层函数():
	a=1
	def 内层函数():
		print(a)
	return 内层函数

闭包的优点:
1.引用了外层函数的局部变量,保存了变量状态
2.使代码变得简洁,便于阅读代码
闭包的缺点:
1.作用域没那么直观
2.因为变量不会立即被垃圾回收所以有一定的内存占用问题
闭包的作用:
1.可以使用同级的作用域
2.读取其他元素的内部变量
3.延长作用域
闭包总结:
1.闭包优化了变量,原来需要类对象完成的工作,闭包也能完成
2.由于闭包引用了外层函数的局部变量,所以外层函数局部变量所占内存没有及时释放,消耗内存
3.使代码变得简洁,便于阅读代码
4.闭包是装饰器的基础

函数装饰器
函数装饰器是指装饰的是一个函数,传入的是一个函数,返回的也是一个函数的函数
格式1–不带参数:

# 定义装饰器
def func1(func):
	a=1
	def wrapper():
		print(a)
		func()
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值