El tipus text

En aquesta llicó es descriu el tipus text. En particular es veu com s’escriuen els literals de tipus text, quins valors poden tenir els texts i algunes de les operacions se’ls pot aplicar. Finalment, es dóna una petita aplicació que involucra textos.

Textos

El tipus dels textos en Python s’escriu str (de l’anglès string). Els textos són seqüències de zero o més caràcters. Hi ha qui els anomena cadenes de caràcters, però jo trobo que text és molt més clar.

Literals

La manera d’escriure els textos en Python escribint els seus caràcters l’un rera l’altre entre cometes, simples o dobles. Per exemple, 'Jordi' i "Jordi" representen el mateix text. El text '' és el text buit, i té llargada zero. En canvi, el text ' ' és un text de llargada 1 que només conté el caràcter espai (que no es veu). Fixeu-vos que 666 és un enter que representa el nombre 666, en canvi, '666' és un text amb 3 caràcters que són el dígit 6.

Caràcters

En Python, els textos estan formats per caràcters en Unicode. Unicode és un estàndard internacional de codificació de caràcters per a suports informàtics. Permet emmagatzemar qualsevol mena d’escriptura que es faci servir actualment, moltes formes d’escriptura (des dels alfabets llatins fins a l’escritura xinesa) i símbols com ara els símbols matemàtics, lingüístics, i algunes emoticones. Així, 'I 🧡 E = mc² 😛!' és un text vàlid en Python.

També existeixen uns caràcters especials anomenats caràcters de control que representen accions especials al escriure. Per exemple '\n' és el salt de línia, '\a' és el so d’una campaneta i '\t' un tabulador. Ls barra del revés introdueix doncs un caràcter especial, per escriure una barra, cal posar-ne dues: '\\'.

Operacions

Recordeu que l’operador + permet concatenar dos textos i que l’operador * permet repetir un text un determinat nombre de cops. Per exemple, 'Black' + 'field' dóna 'Blackfield' i '19' * 3 dóna '191919'.

Els textos també es poden comparar amb els operadors relacionals. L’ordre depèn de la configuració dels sistema operatiu però, a grans trets, per a lozalitzacions occidentals, l’ordre subjacent és l’ordre alfabètic (el del diccionari). !!! Potser cal explicar més?

Els textos tenen moltes altres operacions, algunes de les quals veurem més endavant. Una que ja pot ser útil és la funció len, que retorna la llarga (nonbre de caràcters) d’un text. Per exemple, len('I 💜 you') val 7.

Aplicació

El programa següent ‘catalanitza’ el nom i cognoms donats.

import yogi

print('Quin és el teu nom?' )
nom = read(str)
print('Quin és el teu primer cognom?' )
cognom1 = read(str)
print('Quin és el teu segon cognom?' )
cognom2 = read(str)

nom_catalanitzat = nom + ' ' + cognom1 + ' i ' + cognom2

print("El teu nom 'catalanitzat' és", nom_catalanitzat)

Com que ara s’ha precisat que read retorni textos amb str, el tipus de nom, cognom1 i cognom2 és text. Al print, s’han utilitzat cometes dobles per fora perquè és volien escriure cometes simples a dins.


Fòrum







Lliçons.jutge.org
Jordi Petit
Universitat Politècnica de Catalunya, 2022

Prohibit copiar. Tots els drets reservats.
No copy allowed. All rights reserved.