#coding:utf-8
def outer(origin): #创建函数outer,写入形参origin
def inner(): #创建函数inner
res = origin() #把origin赋值给res,注意origin()代表传来的什么内容都给到res
print('hello') #输出hello
return res #返回res,就是把outer的形参的内容返回了
return inner #返回inner函数的内容
# 直接添加@outer也可以把a函数装饰成inner函数
def a(): #创建函数a
print('world') #输出world函数
# 因为outer里面嵌套了inner函数返回的也是inner函数所以,a函数这时候就装饰成了inner函数
a = outer(a) #把a函数装饰成inner函数
a() #world hello,因为先先赋值给res再输出的hello
"""
总结:函数装饰器初步功能就是大大的方便了我们使用函数的拓展
"""
既然a函数装饰inner函数了,那么等之后要是a函数里面要是有两个参数
可以把inner函数def inner(*args, **kwargs)参数改成这个
再就是摸索了一个多小时总算是把这个装饰器作用理解了,我这算是刚入门的看法,哪里有错大佬们可以指点出来。
还有学习那个部分难的话,可以先从他有什么作用来入手,根据他的作用来学习这个知识点会简单点抽丝剥茧的掌握。