Тулебаев Адильхан, 416 группа ClassCounter 10183
Кибизов Кирилл 321 ClassCounter 9717
f1class Generative(type):f1class Generative(type):
n2    _count = 0n2    counter = 0
33
n4    class _GenerationDescriptor:n4    class GenerationDescriptor:
55
n6        def __get__(self, obj, owner):n6        def __get__(self, inst, owner):
7            return owner.__class__._count7            return owner.__class__.counter
88
n9        def __set__(self, obj, value):n9        def __set__(self, inst, value):
10            raise AttributeError('generation is read-only')10            raise AttributeError('generation is read-only')
1111
n12        def __delete__(self, obj):n12        def __delete__(self, inst):
13            raise AttributeError('generation cannot be deleted')13            raise AttributeError('generation cannot be deleted')
1414
n15    def __new__(mcls, name, bases, namespace):n15    def __new__(mcls, name, bases, ns):
16        cls = super().__new__(mcls, name, bases, namespace)16        cls = super().__new__(mcls, name, bases, ns)
17        mcls._count += 117        mcls.counter += 1
18        type.__setattr__(cls, 'generation', mcls._GenerationDescriptor()18        type.__setattr__(cls, 'generation', Generative.GenerationDescrip
>)>tor())
19        return cls19        return cls
2020
n21    def __setattr__(self, name, value):n21    def __setattr__(cls, name, value):
22        if name == 'generation':22        if name == 'generation':
23            raise AttributeError('generation is read-only')23            raise AttributeError('generation is read-only')
n24        super().__setattr__(name, value)n24        return super().__setattr__(name, value)
2525
n26    def __delattr__(self, name):n26    def __delattr__(cls, name):
27        if name == 'generation':27        if name == 'generation':
28            raise AttributeError('generation cannot be deleted')28            raise AttributeError('generation cannot be deleted')
t29        super().__delattr__(name)t29        return super().__delattr__(name)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op