UniSize/FrBrGeorge | UniSize/akozlov | ||||
---|---|---|---|---|---|
n | 1 | #!/usr/bin/env python3 | n | ||
2 | ''' | ||||
3 | ''' | ||||
4 | |||||
5 | |||||
6 | def sizer(cls): | 1 | def sizer(cls): | ||
7 | 2 | ||||
n | 8 | class _size: | n | 3 | class Descriptor: |
4 | |||||
9 | def __get__(self, obj, cls): | 5 | def __get__(self, obj, cls): | ||
n | n | 6 | |||
10 | if hasattr(obj, "__len__"): | 7 | if hasattr(obj, '__len__'): | ||
11 | return len(obj) | 8 | return len(obj) | ||
n | 12 | elif hasattr(obj, "__abs__"): | n | 9 | if hasattr(obj, '__abs__'): |
13 | return abs(obj) | 10 | return abs(obj) | ||
t | 14 | else: | t | 11 | |
15 | return 0 | 12 | return 0 | ||
13 | |||||
16 | cls.size = _size() | 14 | cls.size = Descriptor() | ||
15 | |||||
17 | return cls | 16 | return cls | ||
18 | 17 |
Legends | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|