标签:strong bsp turn style UNC war 代码 就是 拓展
装饰器的作用:可以在不修改原函数代码的情况下给该函数拓展一些功能。装饰器完美诠释了“开放封闭原则”
"开放封闭"原则:
已经写好的代码, 尽可能不要修改(对函数的内的代码 封闭原则)
如果想要新增功能, 在原先代码基础上, 单独进行扩展(对函数功能的拓展 开放原则)
# 装饰器标准版 def check_login(func): def inner(*args, **kwargs): # 函数定义* **代表聚合 # 被装饰函数执行前的代码 ret = func(*args, **kwargs) # 函数调用* **代表打散 # 被装饰函数执行后的代码 return ret # 被装饰函数的返回值 return inner # @check_login 相当于 func1 = check_login(func1), # 此时的func1 = inner,再调用func1时,相当于执行inner() # func1 = check_login(func1) # 相当于装饰器的操作 # func1() # 此时执行的是check_login(func1)的返回值也就是执行inner函数,相当于inner() @check_login def func1(x, y): # print(x, y) return x, y r = func1(1, 3) print(r)
标签:strong bsp turn style UNC war 代码 就是 拓展
原文地址:https://www.cnblogs.com/chen55555/p/10222210.html