No Data Descriptor
Геттер (__get__()) с аргументами:
instance = экземпляр класса с которого происходит обращение к свойству
owner_class = класс собственник
from time import time
class Epoch:
# intance - экземпляр класса с которого происходит обращение к свойству
# owner_class - класс собственник
def __get__(self, instance, owner_class):
return int(time())
class MyTime:
epoch = Epoch()
m = MyTime()
print(m.epoch)
# 15984124424 - время в секундах
123456789101112131415Можно использовать и обычный геттер на @property но в таком случае, будет возникать много повторяемого кода...
В этом случае поможет определение отдельного класса (No Data Descriptor) на основе дандер метода __get__ ()
Last updated
Was this helpful?