python之魔法---装饰器函数

python之魔法—装饰器函数

闭包函数
闭包
  闭包是指引用了外部包裹此函数的变量的函数

三个条件:
   1. 要有内嵌函数
   2. 引用外部嵌套函数的变量
   3. 返回内嵌函数
闭包函数示例
#实例一个闭包函数的定义和调用
def my_fun(y):
	def fn(x):#fn绑定的是一个闭包函数
		print("******")
		print(x * y)
	return fn
fn = my_fun(10)#这个fn绑定的是一个闭包函数
fn(20)
#最终的结果
******
200
装饰器函数
什么是装饰器
	装饰器是一个函数,主要作用是用来包装另一个函数或类
	包装的目的是在不改变原函数名(或类名) 的情况下改变或添加被包装对象的行为

函数装饰器
	是指装饰器是一个函数,传入的是一个函数,返回的也是一个函数

语法:
	def 装饰器函数名(参数):
		语句块
		return 函数对象

	@装饰器函数名<换行>
	def 函数名(形参列表):
		语句块
装饰器函数示例
def first_fun(fx):
    def fn():
        doc = '''这个是函数的说明'''
        print(doc)
        fx()
    return fn
def sencond_fun(fx):
    def fn():#这个函数的参数就是装饰器函数的参数是通过work函数传进来的
        print("这个是装饰器函数的内容")
        print("****************")
        fx()#这个函数的参数是work的参数
    return fn


@first_fun
@sencond_fun
def work():#这个work函数的参数就是装饰器屋内所有的参数的入口
    print("这个是原来函数的内容")
work()
#就相当于是要调用work函数的时候就会先调用上面的装饰器函数 然后才会调用work函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值