UniSize/meacca | UniSize/Ushuaya | ||||
---|---|---|---|---|---|
f | 1 | class Dsc: | f | 1 | class Dsc: |
n | n | 2 | |||
2 | def __get__(self, obj, cls): | 3 | def __get__(self, obj, cls): | ||
n | n | 4 | #print(f"Get from {cls}:{obj}") | ||
3 | try: | 5 | try: | ||
4 | return len(obj) | 6 | return len(obj) | ||
5 | except BaseException: | 7 | except BaseException: | ||
6 | try: | 8 | try: | ||
7 | return abs(obj) | 9 | return abs(obj) | ||
8 | except BaseException: | 10 | except BaseException: | ||
9 | return 0 | 11 | return 0 | ||
10 | 12 | ||||
11 | 13 | ||||
n | 12 | def sizer(target): | n | 14 | def sizer(cls): |
13 | target.size = Dsc() | 15 | cls.size = Dsc() | ||
14 | return target | 16 | return cls | ||
15 | 17 | ||||
t | t | 18 | # @sizer | ||
19 | # class S(str): | ||||
20 | # pass | ||||
21 | |||||
22 | # @sizer | ||||
23 | # class N(complex): | ||||
24 | # pass | ||||
25 | |||||
26 | # @sizer | ||||
27 | # class E(Exception): | ||||
28 | # pass | ||||
29 | |||||
30 | # for obj in S("QWER"), N(3+4j), E("Exceptions know no lengths!"): | ||||
31 | # print(obj, obj.size) | ||||
32 |
Legends | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|