Морозов Иван Дмитриевич, 517 ClassCounter 10002
Городецкая Агнесса Алексеевна 418 ClassCounter 9863
f1class _GenerationDescriptor:f1class _GenerationDescriptor:
22
n3    def __get__(self, obj, owner):n3    def __get__(self, instance, owner):
4        return owner.__class__._count4        return type(owner)._counter
55
6class Generative(type):6class Generative(type):
n7    _count = 0n7    _counter = 0
88
9    def __new__(mcls, name, bases, namespace):9    def __new__(mcls, name, bases, namespace):
n10        mcls._count += 1n10        mcls._counter += 1
11        ns = dict(namespace)11        ns = dict(namespace)
12        ns['generation'] = _GenerationDescriptor()12        ns['generation'] = _GenerationDescriptor()
13        return super().__new__(mcls, name, bases, ns)13        return super().__new__(mcls, name, bases, ns)
1414
n15    def __setattr__(cls, name, value):n15    def __setattr__(self, name, value):
16        if name == 'generation':16        if name == 'generation':
n17            raise AttributeError('generation is read-only')n17            raise AttributeError('cannot set generation')
18        return super().__setattr__(name, value)18        super().__setattr__(name, value)
1919
n20    def __delattr__(cls, name):n20    def __delattr__(self, name):
21        if name == 'generation':21        if name == 'generation':
t22            raise AttributeError('generation cannot be deleted')t22            raise AttributeError('cannot delete generation')
23        return super().__delattr__(name)23        super().__delattr__(name)
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op