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.