Можешь объяснить различие между dunder методами `__str__` и `__repr__` в Python, включая их предназначение и случаи использования? — ДейлиПреп