Этот пример может показаться немного надуманным, но родительский класс, в основном, заинтересован в доступе к красивому содержимому. Проблема здесь заключается в отсутствии ссылки на self .
@dataclass(frozen=True)
class Id(Parent):
digest: bytes = b'00 ... 00'
pretty: str = heavy_conversion(digest) # intended lazy variable
def heavy_conversion(self, digest):
print('very heavy calculations...')