Wczoraj w LO Góra byłem na kolejnym spotkaniu, gdzie padło pytanie z sali:
Jaka jest różnica miedzy funkcja str() a repr()
Zatem zrobiłem kilka wyszukań, poczytałem – i spieszę z krótką odpowiedzią.
str() – ma oddawać czytelną dla użytkownika wartość
repr() – ma oddawać jednoznaczą wartość
OK – zatem powiecie – a jaka to różnica? Otóż najlepiej wyjaśnić to na przykładzie. Posłużę się biblioteką datetime – kto chce, może dokładnie poczytać jej opis.

Poniżej kod do skopiowania, jeśli chcecie samodzielnie przetestować.
import datetime
today = datetime.datetime.now()
print('---------------------')
# tu wynik str()
a = str(today)
print('wartość wygenerowana przez str()')
print(a)
print('---------------------')
# tu wynik repr
b = repr(today)
print('wartość wygenerowana przez repr()')
print(b)
[…] Różnice między str() a repr() – kto chce, może doczytać. […]