f | from functools import wraps | f | from functools import wraps |
| | | |
| | | |
n | def cast(to): | n | def cast(type): |
| def decorator(func): | | def ccast(f): |
| @wraps(func) | | @wraps(f) |
| def new_func(*args, **kwargs): | | def wrapper(*args, **kwargs): |
| res = func(*args, **kwargs) | | res = f(*args, **kwargs) |
| res = to(res) | | res = type(res) |
| return res | | return res |
n | return new_func | n | return wrapper |
| return decorator | | return ccast |
| | | |
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) |
| | | """ |
| | | |