page contents

被装饰的函数有不定长参数

被装饰的函数有不定长参数

# 函数参数定义顺序:

参数定义顺序:必选参数(即位置参数)、默认参数、可变参数,命名关键字参数和关键字参数。

命名关键字参数和关键字参数传值方式必须是 key = value的形式

而默认参数是在定义时赋值(如funa(a=12),而不是传参时,容易混淆。


def funa(fn):

    def inner(*args, **kwargs):

        print('我开始计算:{}函数了', fn.__name__)  # fn.__name__ 函数名,是一个属性。与单独的__name__ 区别开来:直接运行文件,__name__的值为__main__,作为模块导入,值为模块名

        fn(*args,**kwargs)

        print('执行完成')

    return inner


@funa

def add(*a, **b):

    print(a)

    print(b)


add(2, 3, 4, 5, 6, a=1, b=2) #赋值的形式,是字典格式  num[key]=value  num为字典


运行结果:

我开始计算:{}函数了 add

(2, 3, 4, 5, 6)

{'a': 1, 'b': 2}

执行完成

    

  • 发表于 2021-08-18 17:24
  • 阅读 ( 417 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Wilia
Wilia

28 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1316 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章