repr() și ascii() în Python

Funcții încorporate Python 3.0+

Returnează reprezentarea „tehnică” a unei valori, utilă la depanare; ascii() o face doar cu caractere ASCII.

Sintaxă
repr(obiect)
ascii(obiect)

Ce face repr() și ascii()

str() dă forma prietenoasă a unei valori, iar repr() forma exactă, cum ai scrie-o în cod: textele apar între ghilimele, iar caracterele speciale (\n, \t) se văd. Pentru multe tipuri, eval(repr(x)) == x.

ascii() face același lucru ca repr(), dar înlocuiește caracterele non-ASCII (diacritice, emoji) cu secvențe \x, \u sau \U. Într-o clasă, forma repr se definește cu metoda __repr__.

Parametri

Parametru Descriere
obiect Orice valoare.

Ce returnează

Un text.

Exemple

Exemplul 1: str() față de repr()

text = "Iași\tRomânia\n"
print(str(text))
print(repr(text))
print(repr(42), repr([1, "doi"]))

Rezultat

Iași	România

'Iași\tRomânia\n'
42 [1, 'doi']

Exemplul 2: ascii() și !r în f-string

print(ascii("Brașov €"))
nume = "Ana "
print(f"Nume: {nume!r}")

Rezultat

'Bra\u0219ov \u20ac'
Nume: 'Ana '

Greșeli frecvente

  • Afișezi un text cu spații sau caractere invizibile la final și nu le vezi. Afișează-l cu repr() sau {x!r} ca să observi problema.

Comenzi înrudite

  • str(): Tipul textelor (șiruri de caractere); str() transformă orice valoare în text.
  • print(): Afișează unul sau mai multe texte sau valori pe ecran.
  • class: Definește o clasă: un șablon pentru obiecte care au date (atribute) și comportament (metode).
  • eval(), exec() și compile(): Rulează cod Python primit ca text: eval() calculează o expresie, exec() execută instrucțiuni, compile() le pregătește.