Python 装饰器是 Python 中一种非常强大的功能,允许程序员在不修改原有函数代码的情况下,为函数添加新的功能。下面是一些关于 Python 装饰器的入门指南。
装饰器简介
装饰器本质上是一个函数,它接收一个函数作为参数,并返回一个新的函数。使用装饰器可以在不修改原函数代码的情况下,扩展或修改其功能。
简单的装饰器示例
以下是一个简单的装饰器示例,它为任何装饰的函数添加了打印日志的功能:
def my_decorator(func):
def wrapper():
print("装饰器执行前...")
func()
print("装饰器执行后...")
return wrapper
@my_decorator
def say_hello():
print("Hello, World!")
say_hello()
运行上述代码,输出结果为:
装饰器执行前...
Hello, World!
装饰器执行后...
装饰器参数
装饰器也可以接受参数。以下是一个带有参数的装饰器示例:
def decorator_with_args(number):
def my_decorator(func):
def wrapper(*args, **kwargs):
print("装饰器接收到的参数为: {}".format(number))
return func(*args, **kwargs)
return wrapper
return my_decorator
@decorator_with_args(42)
def say_hello(name):
print("Hello, {}!".format(name))
say_hello("Alice")
运行上述代码,输出结果为:
装饰器接收到的参数为: 42
Hello, Alice!
更多装饰器用法
Python 的装饰器应用非常广泛,例如权限验证、日志记录、性能测试等。你可以根据自己的需求,编写各种装饰器来扩展函数的功能。
图片展示
装饰器就像给函数穿上了一件件漂亮的衣服,让它们更加美观。以下是一张装饰器的图片,让我们一起欣赏一下: