美文网首页
可以传入额外参数的装饰器

可以传入额外参数的装饰器

作者: MoonMonsterss | 来源:发表于2018-10-21 19:02 被阅读6次
"""
第一层函数,可以用来接收传递进来的参数
第二层函数,是接收传进来的函数对象
第三层函数,使用万能的参数,*args和**kwargs

该示例输出:
main
name =  chentao
run.name =  Hello World
"""


def wrapper(func_name):
   def func(f):
      def f2(*args, **kwargs):
         print('name = ', func_name)
         f(*args, **kwargs)

      return f2
   return func


@wrapper(func_name='chentao')
def run(name):
   print('run.name = ', name)


if __name__ == '__main__':
   print('main')
   run('Hello World')

相关文章

  • 可以传入额外参数的装饰器

  • python的装饰器

    装饰器 不修改函数调用方式,依旧可以修改输出 利用 *args 可以传入任意个参数 装饰器的最终形态,**kw 代...

  • Python 进阶之装饰器

    1. 最基础的装饰器 装饰器基本的套路: 函数进,函数出. 函数名要作为参数传入装饰器,函数出: 装饰器要返回一个...

  • 装饰器入门(2)

    装饰器入门(1)接下来的话题:如果装饰器需要带参数应该怎么做? 要给log函数传入一个参数(这里是字符串) 输出:...

  • [接口测试_B] 05 Pytest参数化处理

    pytest的参数化方式 pytest.fixture()方式进行参数化,fixture装饰的函数可以作为参数传入...

  • pytest 初始化和参数化

    @pytest.fixture(param=list|string) # 该装饰器表示当前方法传入的参数可被r...

  • Python装饰器

    在Python里面,函数可以作为参数传入一个函数,函数也可以复制给变量,通过变量调用函数。装饰器可以扩展一个函数的...

  • 了解女朋友的心还不如去了解Python之Python装饰器

    在Python里面,函数可以作为参数传入一个函数,函数也可以复制给变量,通过变量调用函数。装饰器可以扩展一个函数的...

  • Python装饰器笔记

    装饰器本原 装饰器就是一个函数,并不需要特殊语法定义。当你在别的函数头上写@时,就相当于调用装饰器函数,传入参数是...

  • Python中的装饰器

    Python中的装饰器 不带参数的装饰器 带参数的装饰器 类装饰器 functools.wraps 使用装饰器极大...

网友评论

      本文标题:可以传入额外参数的装饰器

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