UniSize/MaximKornilov | UniSize/akozlov | ||||
---|---|---|---|---|---|
f | 1 | def sizer(cls): | f | 1 | def sizer(cls): |
2 | 2 | ||||
n | 3 | class getter: | n | 3 | class Descriptor: |
4 | 4 | ||||
5 | def __get__(self, obj, cls): | 5 | def __get__(self, obj, cls): | ||
6 | 6 | ||||
7 | if hasattr(obj, '__len__'): | 7 | if hasattr(obj, '__len__'): | ||
8 | return len(obj) | 8 | return len(obj) | ||
n | 9 | n | |||
10 | if hasattr(obj, '__abs__'): | 9 | if hasattr(obj, '__abs__'): | ||
11 | return abs(obj) | 10 | return abs(obj) | ||
12 | 11 | ||||
13 | return 0 | 12 | return 0 | ||
14 | 13 | ||||
n | 15 | class Sizer(cls): | n | 14 | cls.size = Descriptor() |
16 | 15 | ||||
n | 17 | size = getter() | n | 16 | return cls |
18 | 17 | ||||
t | 19 | return Sizer | t | ||
20 |
Legends | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|