| TypeCast/danilkonon1239 | TypeCast/Cactiw | ||||
|---|---|---|---|---|---|
| n | 1 | """ | n | ||
| 2 | |||||
| 3 | @cast(int) | ||||
| 4 | def fun(a, b): | ||||
| 5 | return a * 2 + b | ||||
| 6 | print(fun(12, 34) * 2) | ||||
| 7 | print(fun("12", "34") * 2) | ||||
| 8 | print(fun(12.765, 34.654) * 2) | ||||
| 9 | |||||
| 10 | """ | ||||
| 11 | |||||
| 12 | |||||
| 13 | import functools | 1 | import functools | ||
| 14 | 2 | ||||
| 15 | 3 | ||||
| 16 | def cast(cast_type): | 4 | def cast(cast_type): | ||
| t | 17 | def dec(fun): | t | 5 | def decorator(func): |
| 18 | @functools.wraps(fun) | 6 | @functools.wraps(func) | ||
| 19 | def res(*args, **kwargs): | 7 | def wrapper(*args, **kwargs): | ||
| 20 | return cast_type(fun(*args, **kwargs)) | 8 | return cast_type(func(*args, **kwargs)) | ||
| 21 | return res | 9 | return wrapper | ||
| 22 | return dec | 10 | return decorator | ||
| 23 | 11 | ||||
| Legends | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||