python装饰器

2021/11/13 14:10:15

本文主要是介绍python装饰器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

'''
python中装饰器很重要 一定要理解 如果只是被模版虽然可以 那你永远是半吊子 没价值
装饰器的理解需要有 '闭包函数'、'函数返回值'、'函数的穿参方式' 这些基础支撑才能很好的理解
'''
'''
一、不需要参数的装饰器很简单--重点
'''
# def login():
#     print('登录成功')
'''
大家都知道现在调用login函数会打印'登录成功'
现在的要求是不改变调用方式 以及函数本体的前提下给这个函数添加一个打印功能
'''
def auth(func):
    def inner(*args,**kwargs):
        print('你需要添加的功能')
        func()
    return inner
@auth
def login():
    print('登录成功')
'''
这个装饰器就实现了这样的功能 
装饰器的作用:装饰函数(就比如化妆 你要涂粉底、画眼线 增加这个东西把自己装饰的更加满意)
'''



#二、有参数的装饰器--重点
def xxx(a):#继续包一层用来传参数

    def auth(func):
        def inner(*args,**kwargs):
            print(f'欢迎光临{a}')
            func()
        return inner

    return auth
@xxx('张三')
def shopping():
    print('手机 300')
'''
要求 不修改shopping函数的代码和调用方式 先打印欢迎光临再去打印商品信息
根据要求我们就可以知道 用装饰器给目标函数加一个打印功能就可以了嘛
但是注意这个附加功能需要一个参数  和上面无参数装饰器对比去看 就是多加了一层用来传参数
'''


这篇关于python装饰器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程