f | from functools import wraps | f | from functools import wraps |
| | | |
| | | |
n | def cast(type): | n | def cast(to): |
| def ccast(f): | | def decorator(func): |
| @wraps(f) | | @wraps(func) |
| def wrapper(*args, **kwargs): | | def new_func(*args, **kwargs): |
| res = f(*args, **kwargs) | | res = func(*args, **kwargs) |
| res = type(res) | | res = to(res) |
| return res | | return res |
n | return wrapper | n | return new_func |
| return ccast | | return decorator |
| | | |
t | | t | |
| """ | | |
| @cast(int) | | |
| def fun(a, b): | | |
| return a * 2 + b | | |
| print(fun(12, 34) * 2) | | |
| print(fun("12", "34") * 2) | | |
| print(fun(12.765, 34.654) * 2) | | |
| """ | | |
| | | |