| TypeCast/kunsar | TypeCast/Aleksyav | ||||
|---|---|---|---|---|---|
| f | 1 | from functools import wraps | f | 1 | from functools import wraps |
| 2 | 2 | ||||
| 3 | 3 | ||||
| n | 4 | def cast(type): | n | 4 | def cast(t): |
| 5 | def decorate(f): | 5 | def decorator(f): | ||
| 6 | @wraps(f) | 6 | @wraps(f) | ||
| n | 7 | def wrapper(*args, **kwargs): | n | 7 | def newfun(*args, **kwargs): |
| 8 | return type(f(*args, **kwargs)) | 8 | return t(f(*args, **kwargs)) | ||
| 9 | return wrapper | 9 | return newfun | ||
| 10 | return decorate | 10 | return decorator | ||
| 11 | 11 | ||||
| t | 12 | t | |||
| 13 | # if __name__ == "__main__": | ||||
| 14 | # @cast(int) | ||||
| 15 | # def fun(a, b): | ||||
| 16 | # return a * 2 + b | ||||
| 17 | # | ||||
| 18 | # | ||||
| 19 | # print(fun(12, 34) * 2) | ||||
| 20 | # print(fun("12", "34") * 2) | ||||
| 21 | # print(fun(12.765, 34.654) * 2) | ||||
| 22 | |||||
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||