8月31日学习内容整理:装饰器

本文介绍Python中装饰器的基本概念与使用方法,包括其本质、基本结构及注意事项,并探讨了开放封闭原则的应用。

补充:

1、print(func._ _name_ _)   这样就会打印func本身的名字,只有一个func就会打印内存地址

2、不要用已知函数名或者方法名来命名变量

今天内容:

1、装饰器:本质就是闭包函数,功能就是在不改变原函数的功能和调用的前提下,对原函数进行扩展

2、装饰器基本结构:

def wrapper(func): #wrapper装饰器的名字
    def inner(*args,**kwargs):
        #print('被装饰的函数执行之前你要做的事儿')
        print('你正在调用%s函数'%func.__name__)
        ret = func(*args,**kwargs)   #被装饰的函数
        #print('被装饰的函数执行之后你要做的事儿')
        return ret
    return inner

@wrapper     要执行的函数名 = wrapper(要执行的函数名)

 

注意的点:

(1)使用者在调用函数时,实际上对于装饰器来说是调用的inner,所以函数和inner的参数要一样

(2)函数有返回值就在inner里赋值返回即可

(3)对于装饰器wrapper函数名来说,参数必须是inner里调用的函数名即func,因为语法糖的含义就是把wrapper(函数名)赋值给函数名

(4)@wrapper叫语法糖

3、开放封闭原则

(1)开放:对扩展是开放的

(2)封闭:对修改是封闭的,不能对已经改好的功能进行修改

转载于:https://www.cnblogs.com/wanghl1011/articles/7458170.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值