小编isf*_*f85的帖子

Python中的参数如何使函数起作用

我很难理解如何将参数传递给装饰器内的包装器函数.举一个简单的例子:

def my_decorator(func):
    def wrapper(func_arg):
        print('Before')
        func(func_arg)
        print('After')
    return wrapper

@my_decorator
def my_function(arg):
    print(arg + 1)

my_function(1)
Run Code Online (Sandbox Code Playgroud)

我有一个函数,需要1个参数,它被装饰.我在理解func_arg如何工作方面遇到了麻烦.调用my_function(1)时,值1如何传递给包装器.根据我对此的一点理解,my_function被一个新函数'替换',如:my_function = my_decorator(my_function).

print(my_function)
<function my_decorator.<locals>.wrapper at 0x7f72fea9c620>
Run Code Online (Sandbox Code Playgroud)

python function python-3.x python-decorators

3
推荐指数
1
解决办法
88
查看次数

标签 统计

function ×1

python ×1

python-3.x ×1

python-decorators ×1