python之装饰器

装饰器 : 在不改变原有代码的前提下,为原函数扩展新功能

定义:装饰器用于拓展原来函数功能的一种语法,返回新函数替换旧函数
优点:在不更改原函数代码的前提下 给函数拓展新的功能

@符号 装饰器的标识符 :
(1) 自动把下面修饰的原函数当成参数传递给装饰器
(2) 把返回的新函数去替换原函数

(1) 装饰器的原型

def kuozhan(_func):
    def newfunc():
        print("厕所前 ... 干净整齐")
        _func()
        print("厕所后 ... 臭气熏天")
    return newfunc

def func():
    print("我是屌丝...")

func = kuozhan(func) # func = newfunc   func()  newfunc()
func()

(2) @符号的使用

def kuozhan(_func):
    def newfunc():
        print("厕所前 ... 干净整齐")
        _func()
        print("厕所后 ... 臭气熏天")
    return newfunc

@kuozhan
def func():
    print("我是高富帅...")

func()

python之装饰器

(3) 装饰器的嵌套

def kuozhan1(_func):
    def newfunc():
        print("厕所前 ... 人模狗样1")
        _func()
        print("厕所后 ... 牛头马面2")
    return newfunc

def kuozhan2(_func):
    def newfunc():
        print("厕所前 ... 面黄肌瘦3")
        _func()
        print("厕所后 ... 红光满面4")
    return newfunc

@kuozhan2
@kuozhan1
def func():
    print("我是白富美...5")

func()

python之装饰器

Original: https://www.cnblogs.com/shuaiyao666/p/16079929.html
Author: 小帅同学啊
Title: python之装饰器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/500166/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球