Python 函数装饰器是一种特殊的函数,它有两个特点: 它可以接收一个函数作为参数,并返回一个新的函数作为此函数的替代。 它可以在不改变原有函数代码的情况下,增强原函数的功
Python 函数装饰器是一种特殊的函数,它有两个特点:
- 它可以接收一个函数作为参数,并返回一个新的函数作为此函数的替代。
- 它可以在不改变原有函数代码的情况下,增强原函数的功能或者修改原函数的行为。
装饰器本质上是一个闭包函数,它的目的是对原函数进行一层包装,以增强函数的功能或者修改函数的行为。
Python 装饰器语法Python 装饰器的语法如下:
@decorator
def function_name(parameters):
function_body
其中 @decorator 表示使用 decorator 来装饰 function_name 函数。当 function_name 被调用时,实际上执行的是 decorator(function_name) 函数。从这点我们可以发现,装饰器本质上就是一个函数,它接收一个函数作为参数,并返回一个新的函数。
下面通过一些示例来详细讲解 Python 函数装饰器的用法。
Python 装饰器增强函数的功能下面是一个示例,演示了如何使用装饰器来增强函数的功能:
#装饰器函数
def log(func):
def wrapper(*args, **kwargs):
print("Calling function: {}".format(func.__name__))
return func(*args, **kwargs)
return wrapper
#要包装的函数
@log
def greet(name):
print("Hello, {}!".format(name))
greet("