| 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 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||