美文网首页
Python装饰器18-传参数给被装饰函数

Python装饰器18-传参数给被装饰函数

作者: dnsir | 来源:发表于2019-06-19 10:59 被阅读0次

使用示例

from functools import wraps

def dec(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        kwargs['name'] = 'no'
        kwargs['value'] = 'v'
        return func(*args, **kwargs)
    return wrapper

@dec
def foo(p1, p2, p3, name, value, p4='a'):
    print('p1: {}, p2: {}, p3:{}, name: {}, value:{}, p4: {}'.format(
        p1, p2, p3, name, value, p4
    ))


# p1,p2, p3是位置参数
# name,value 是关键字参数
# p4 默认参数

foo('a', 'b', 'c')
foo('a1', 'b1', 'c1', name = 'name')

小结

主要关注如果装饰器会修改被装饰函数的参数时,如何去定义被装饰的函数

相关文章

  • Python装饰器18-传参数给被装饰函数

    使用示例 小结 主要关注如果装饰器会修改被装饰函数的参数时,如何去定义被装饰的函数

  • Python装饰器

    Python装饰器 一、函数装饰器 1.无参装饰器 示例:日志记录装饰器 2.带参装饰器 示例: 二、类装饰器 示例:

  • 装饰器

    一、函数传参 二、如果每个函数都需要同一个功能 三、装饰器实现 四、被装饰函数有参数情况 五、带参数的装饰器 六、...

  • 装饰器

    闭包 nonlocal这个就是修改外部参数的值 装饰器 装饰器有结论 两个装饰器装饰一个函数 装饰器传参

  • python中怎样使用装饰器

    闭包 nonlocal这个就是修改外部参数的值 装饰器 装饰器有结论 两个装饰器装饰一个函数 装饰器传参

  • Python-迭代器

    一、装饰器 开放封闭原则 装饰器的简单实现 装饰器语法糖 装饰有参有返的函数 有参装饰器 wraps修改函数文档注...

  • Flask 视图和路由的进阶技能

    视图装饰器 Python 装饰器是用于转换其它函数的函数。当一个装饰的函数被调用的时候,装饰器也会被调用。接着装饰...

  • python 装饰器 补充

    重新理解python 装饰器 python 装饰器是一个函数,被装饰器所装饰的代码块最终也是一个函数这个对于一般的...

  • 详解python中@的用法

    python中@的用法 @是一个装饰器,针对函数,起调用传参的作用。有修饰和被修饰的区别,@function作为一...

  • 第四篇 闭包函数、装饰器、迭代器、序列化

    一、知识储备 二、闭包函数 三、简单装饰器 四、无参装饰器修订 五、无参装饰器之auth 六、有参装饰器 七、加多...

网友评论

      本文标题:Python装饰器18-传参数给被装饰函数

      本文链接:https://www.haomeiwen.com/subject/juehqctx.html