- Las cadenas de caracteres (
str
): Me permiten guardar secuencias de caracteres. Es un tipo inmutable. Como hemos comentado las cadenas de caracteres en python3 están codificada con Unicode.
Podemos definir una cadena de caracteres de distintas formas:
>>> cad1 = "Hola"
>>> cad2 = '¿Qué tal?'
>>> cad3 = '''Hola,
que tal?'''
También podemos crear cadenas con el constructor str
a partir de otros tipos de datos.
>>> cad1=str(1)
>>> cad2=str(2.45)
>>> cad3=str([1,2,3])
Como veíamos en el apartado "Tipo de datos secuencia" podemos realizar las siguientes operaciones:
- Las cadenas se pueden recorrer.
- Operadores de pertenencia:
in
ynot in
. - Concatenación:
+
- Repetición:
*
- Indexación
- Slice
Entre las funciones definidas podemos usar: len
, max
, min
, sorted
.
>>> cad = "Hola que tal?"
>>> cad[4]="."
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
Las cadenas se comparan carácter a carácter, en el momento en que dos caracteres no son iguales se compara alfabéticamente (es decir, se convierte a código unicode y se comparan).
Ejemplos
>>> "a">"A"
True
>>> ord("a")
97
>>> ord("A")
65
>>> "informatica">"informacion"
True
>>> "abcde">"abcdef"
False
-
repr(objeto)
: Devuelve una cadena de caracteres que representa la información de un objeto.>>> repr(range(10)) 'range(0, 10)' >>> repr("piña") "'piña'"
La cadena devuelta por
repr()
debería ser aquella que, pasada aeval()
, devuelve el mismo objeto.>>> type(eval(repr(range(10)))) <class 'range'>
-
ascii(objeto)
: Devuelve también la representación en cadena de un objeto pero en este caso muestra los caracteres con un código de escape . Por ejemplo en ascii (Latin1) laá
se presenta con\xe1
.>>> ascii("á") "'\\xe1'" >>> ascii("piña") "'pi\\xf1a'"
-
bin(numero)
: Devuelve una cadena de caracteres que corresponde a la representación binaria del número recibido.>>> bin(213) '0b11010101'