UniSize/LagnoA
UniSize/varyak
n1# Лагно Александра, группа 516n1class Dsc:
2 
3class Descriptor:
4    def __get__(self, obj, cls):2    def __get__(self, obj, cls):
n5        if "__len__" in dir(obj):n3        if '__len__' in dir(cls):
6            return len(obj)4            return len(obj)
n7        elif "__abs__" in dir(obj):n5        elif '__abs__' in dir(cls):
8            return abs(obj)6            return abs(obj)
9        else:7        else:
10            return 08            return 0
119
1210
13def sizer(cls):11def sizer(cls):
n14    cls.size = Descriptor()n12    cls.size = Dsc()
15    return cls13    return cls
1614
t17# @sizert
18# class S(str):
19# def __init__(self, stroka):
20##       self.field = 100500
21##
22# @sizer
23# class N(complex):
24# pass
25##
26# @sizer
27# class E(Exception):
28# pass
29##
30##s = S("QWER")
31##print(s.__dict__, S.__dict__)
32# for obj in S("QWER"), N(3+4j), E("Exceptions know no lengths!"):
33##    print(obj, obj.size)
34 
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op