Una cadena de caràcters o string és una seqüència de characters que sovint representa una llista de paraules.
Farem servir servir strings a pràcticament tots els programes que desenvolupem en Python. Així que parem atenció a la següent part que explica l'ús dels strings en Python.
'
)
Podem especificar strings fent servir cometes simples com ara
'aquest string amb cometes simples'
.
Tots els espais en blanc (és a dir, els espais i tabuladors)
queden preservats tal i com apareixen.
"
)
Els strings entre cometes dobles funcionen exactament igual que
si estiguessin entre cometes simples. Per
exemple "aquest string amb cometes dobles"
.
'''
or """
)
Podem especificar strings de més d'una línia fent servir triple cometes. Podem fer servir tant les cometes simples com les dobles per fer les tres cometes. Per exemple:
'''Aquest és un string multilínia. Aquesta és la primera línia.
Mentre que aquesta és la segona.
La tercera línia d'aquest exemple comença amb "La tercera línia" i acaba amb 'amb'
'''
Suposem que volem disposar d'un string que contingui una cometa
simple ('
). Com el podem escriure? Per
exemple, si la cadena és
L'Autor d'aquest llibre?
No podem
escriure-la com 'L'Autor d'aquest llibre'
perquè Python no pot saber on comença i on acaba el string.
Haurem d'indicar-li que els apòstrofs interns no indiquen el
final de la cadena. Això es pot fer fent servir les
seqüències d'escapament. Especificarem una
cometa simple amb \'
. Noteu la barra invertida.
Ara podem escriure la cadena com
'L\'Autor d\'aquest llibre'
Una altra manera d'escriure la mateixa cadena seria, és clar,
"L'Autor d'aquest llibre"
. És a dir, fent
servir les cometes dobles. De la mateixa manera, podem fer
servir seqüències d'escapament per usar les cometes dobles dins
d'un string entre cometes dobles (\"
). Fins i
tot podem escriure la barra invertida fent servir
\\
.
I si volem escriure un string de dues línies? Una manera seria
fent servir triple cometes, com hem vist abans. Però també podem
fer servir la seqüència d'escapament \n
que
indica la nova línia.
Per exemple, 'primera línia\nsegona línia'
.
Una altra seqüència interessant és \t
. Hi ha
moltes més seqüències d'escapament. Aquestes només són algunes
de les més habituals.
Per cert, una única barra invertida al final de la línia indica que el string encara continua a la següent línia, però no s'afegeix cap salt de línia. Per exemple,
"Aquesta és la primera frase. \
I aquesta la segona."
equival a "Aquesta és la primera frase. I aquesta la segona."
Si volem especificar cadenes que no siguin processades (per
exemple, que no s'interpretin les seqüències d'escapament,
podem fer servir els strings sense processar
(raw strings) afegint el prefix
r
o R
a la cadena.
Per exemple r"Indiquem una nova línia amb \n"
.
Unicode és la manera estàndard d'escriure text internacional.
Per exemple, ens pot ser útil per escriure els nostres caràcters
especials del català o també Hindi o Àrab. Per a indicar que
un string conté unicode cal afegir el prefix u
o U
.
Per exemple u"Dóna corda al català."
.
Hem de fer servir strings Unicode quan treballem amb fitxers de text, especialment quan puguin estar escrits en un idioma diferent a l'anglès.
Això vol dir que, un cop creat un string, no el podem modificar. Malgrat que això pot semblar una limitació, en realitat no ho és pas. Veurem el perquè als diferents programes que estudiarem més endavant.
Si col·loquem dos strings literals un darrera de l'altre, Python
els concatena automàticament. Per exemple
'Com et ' 'dius?'
és automàticament convertit a "Com et dius?"
.
Python no ofereix el tipus de dades char
. En
realitat no hi ha cap necessitat i estic segur que no el trobareu a
faltar.
Recordeu que els strings entre cometes simples i dobles són equivalents. Python no els diferencia en res.
Feu servir sempre strings sense processar amb les expressions regulars.
Altrament, haureu de fer servir un munt de barres invertides.
Per exemple, '\\1'
equival a r'\1'
.