A library to simplify decorators in Python
Project description
Easys-Decorator API 中文版
Easys-Decorator 是一个 Python 库,旨在简化创建和使用装饰器的过程。它提供了一个用户友好的接口,用于定义和应用装饰器,消除了传统装饰器中常见的样板代码。
核心概念:
- 装饰器函数: Easys-Decorator 允许你使用简单的语法定义装饰器函数。
- 装饰器参数: 你可以向你的装饰器传递可选参数,使它们更加灵活和可重用。
- 装饰器应用: 使用
@decorate语法,以声明式的方式应用装饰器变得非常直观。
API 参考:
1. 定义装饰器:
from easys_decorator import decorate
@decorate
def my_decorator(func, *args, **kwargs):
"""
这是一个简单的装饰器,会在装饰的函数前后打印一条消息。
"""
print(f"调用 {func.__name__},参数:{args},关键字参数:{kwargs}")
result = func(*args, **kwargs)
print(f"{func.__name__} 返回:{result}")
return result
2. 应用装饰器:
@my_decorator
def my_function(a, b, c=10):
"""
这是一个简单函数,用于将三个数字相加。
"""
return a + b + c
# 调用装饰后的函数
result = my_function(2, 3, c=5)
3. 带参数的装饰器:
@decorate(param1="value1", param2="value2")
def my_parameterized_decorator(func, param1, param2, *args, **kwargs):
"""
这是一个带参数的装饰器,用于打印其参数的值。
"""
print(f"param1: {param1}, param2: {param2}")
result = func(*args, **kwargs)
return result
@my_parameterized_decorator
def another_function(x, y):
"""
这是另一个演示函数。
"""
return x * y
4. 装饰器链:
@my_decorator
@my_parameterized_decorator(param1="value3", param2="value4")
def chained_function(a, b):
"""
此函数演示了如何将多个装饰器链接在一起。
"""
return a - b
5. 装饰器组:
from easys_decorator import DecoratorGroup
group = DecoratorGroup(
my_decorator,
my_parameterized_decorator(param1="value5", param2="value6"),
)
@group
def grouped_function(x, y, z):
"""
此函数使用装饰器组,一次性应用多个装饰器。
"""
return x + y + z
注意: @decorate 语法需要 Python 3.7 或更高版本。对于旧版本,你可以使用 decorate() 函数,如下所示:
decorated_function = decorate(my_decorator)(my_function)
Easys-Decorator 通过提供清晰直观的 API 简化了装饰器的使用。它消除了对复杂嵌套函数的需求,让你可以专注于装饰器的逻辑,而无需担心实现细节。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file easys_decorator-0.1.2.tar.gz.
File metadata
- Download URL: easys_decorator-0.1.2.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
84e5c81e22d46f594fd8d5783df42bd41bacffff99d9994f21a54790448a4448
|
|
| MD5 |
0cab524b0c8c05adb1ae2e9dd1b8939b
|
|
| BLAKE2b-256 |
51ca3bf6976a7b907f0aa002910d6b40de57c2d618e22c7cd81367644a328f6b
|
File details
Details for the file Easys_Decorator-0.1.2-py3-none-any.whl.
File metadata
- Download URL: Easys_Decorator-0.1.2-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a9666d79952ed6d78e0847fb395fd98917fc446d33367c07e8853fedff0f98d
|
|
| MD5 |
fce36d4db4ca7c4619667f9f41988629
|
|
| BLAKE2b-256 |
d35c887bdf693e8e3c287db42691f4aae97a6dd87edd2cbe7274a6da8f3322a4
|