fork download
  1. from typing import ClassVar
  2. from dataclasses import dataclass
  3.  
  4. @dataclass
  5. class Feld:
  6. _id_to_instance: ClassVar[dict] = {}
  7. id: str
  8. value: str
  9.  
  10. def __post_init__(self):
  11. self._id_to_instance[self.id] = self
  12.  
  13. @classmethod
  14. def get_instance_by_id(cls, id):
  15. return cls._id_to_instance[id]
  16.  
  17. for id, value in ('id1', 'value1'), ('id2', 'value2'):
  18. Feld(id, value)
  19.  
  20. print(Feld.get_instance_by_id('id2'))
Success #stdin #stdout 0.04s 10760KB
stdin
Standard input is empty
stdout
Feld(id='id2', value='value2')