gpt4 book ai didi

python - 内部装饰器函数如何查看装饰函数参数?

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:12 24 4
gpt4 key购买 nike

<分区>

我正在尝试征服自开始以来我一直避免使用的最后一个基本 Python 功能:装饰器。我没有像使用 list-comps 那样研究它,而且我不明白装饰器声明中的内部函数是如何工作的。

这是我的意思的一个例子。给定这个大块代码:

def outer(func):
def inner(*args, **kwargs):
print('Hi my name is ')
return func(*args, **kwargs)
return inner

@outer
def decorated(name):
print(name)


decorated('Bob')

我知道这将打印

Hi my name is
Bob

但我不明白的是 inner 如何从 decorated()< 获取任何 *args**kwargs/

我的理解是

@outer
def decorated(name):
print(name)
decorated("Bob")

等同于 outer(decorated("Bob"))。如果是这种情况,inner() 将如何访问 name 参数?除了语法问题,我希望 inner 的声明看起来像 def inner(func.args, func.kwargs):

这是怎么回事?我误会了什么?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com