0% encontró este documento útil (0 votos)
15 vistas7 páginas

Cadenas Python

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas7 páginas

Cadenas Python

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

Cadenas Python

Las cadenas en Python o strings son un tipo inmutable que


permite almacenar secuencias de caracteres. Para crear una,
es necesario incluir el texto entre comillas dobles " . Puedes
obtener más ayuda con el comando help(str).
s = "Esto es una cadena"
print(s) #Esto es una cadena
print(type(s)) #<class 'str'>

También es valido declarar las cadenas con comillas simples


simples ' .
s = 'Esto es otra cadena'
print(s) #Esto es otra cadena
print(type(s)) #<class 'str'>

Las cadenas no están limitadas en tamaño, por lo que el único


límite es la memoria de tu ordenador. Una cadena puede
estar también vacía.
s = ''

Una situación que muchas veces se puede dar, es cuando


queremos introducir una comilla, bien sea simple ' o
doble " dentro de una cadena. Si lo hacemos de la siguiente
forma tendríamos un error, ya que Python no sabe muy bien
donde empieza y termina.
#s = "Esto es una comilla doble " de ejemplo" # Error!

Para resolver este problema debemos recurrir a las


secuencias de escape. En Python hay varias, pero las
analizaremos con más detalle en otro capítulo. Por ahora, la
más importante es \" , que nos permite incrustar comillas
dentro de una cadena.
s = "Esto es una comilla doble \" de ejemplo"
print(s) #Esto es una comilla doble " de ejemplo

También podemos incluir un salto de línea dentro de una


cadena, lo que significa que lo que esté después del salto, se
imprimirá en una nueva línea.
s = "Primer linea\nSegunda linea"
print(s)
#Primer linea
#Segunda linea
También podemos usar \ acompañado de un número, lo que
imprimirá el carácter asociado. En este caso imprimimos el
carácter 110 que se corresponde con la H .
print("\110\110") #HH

Para saber más: Te recomendamos que busques


información sobre ASCI y Unicode. Ambos son conceptos muy
útiles a la hora de entender los strings.

Se puede definir una cadena que ocupe varias líneas usando


triple """ comilla. Puede ser muy útil si tenemos textos muy
largo que no queremos tener en una sola línea.

Existe también otra forma de declarar cadenas llamado raw


strings . Usando como prefijo r , la cadena ignora todos las
secuencias de escape, por lo que la salida es diferente a la
anterior.
print(r"\110\110") #\110\110
print("""La siguiente
cadena ocupa
varias lineas""")

Formateo de cadenas
Tal vez queramos declarar una cadena que contenga
variables en su interior, como números o incluso otras
cadenas. Una forma de hacerlo sería concatenando la cadena
que queremos con otra usando el operador + . Nótese
que str() convierte en string lo que se pasa como parámetro.
x = 5
s = "El número es: " + str(x)
print(s) #El número es: 5

Otra forma es usando % . Por un lado tenemos %s que indica el


tipo que se quiere imprimir, y por otro a la derecha
del % tenemos la variable a imprimir. Para imprimir una
cadena se usaría %s o %f para un valor en coma flotante.

Para saber más: En el siguiente enlace puedes encontrar


más información sobre el uso de %.
x = 5
s = "El número es: %d" % x
print(s) #El número es: 5
Si tenemos más de una variable, también se puede hacer
pasando los parámetros dentro de () . Si vienes de lenguajes
como C , esta forma te resultará muy familiar. No obstante,
esta no es la forma preferida de hacerlo, ahora que tenemos
nuevas versiones de Python.
s = "Los números son %d y %d." % (5, 10)
print(s) #Los números son 5 y 10.

Una forma un poco más moderna de realizar lo mismo, es


haciendo uso de format() .
s = "Los números son {} y {}".format(5, 10)
print(s) #Los números son 5 y 10

Es posible también darle nombre a cada elemento,


y format() se encargará de reemplazar todo.
s = "Los números son {a} y {b}".format(a=5, b=10)
print(s) #Los números son 5 y 10

Por si no fueran pocas ya, existe una tercera forma de hacerlo


introducida en la versión 3.6 de Python. Reciben el nombre de
cadenas literales o f-strings . Esta nueva característica,
permite incrustar expresiones dentro de cadenas.
a = 5; b = 10
s = f"Los números son {a} y {b}"
print(s) #Los números son 5 y 10

Puedes incluso hacer operaciones dentro de la creación


del string .
a = 5; b = 10
s = f"a + b = {a+b}"
print(s) #a + b = 15

Puedes incluso llamar a una función dentro.


def funcion():
return 20
s = f"El resultado de la función es {funcion()}"
print(s) #El resultado de la funcion es 20

Ejemplos string
Para entender mejor la clase string , vamos a ver unos
ejemplos de como se comportan. Podemos sumar dos strings
con el operador + .
s1 = "Parte 1"
s2 = "Parte 2"
print(s1 + " " + s2) #Parte 1 Parte 2

Se puede multiplicar un string por un int . Su resultado es


replicarlo tantas veces como el valor del entero.
s = "Hola "
print(s*3) #Hola Hola Hola

Podemos ver si una cadena esta contenida en otra con in .

print("mola" in "Python mola") #True

Con chr() and ord() podemos convertir entre carácter y su


valor numérico que lo representa y viceversa. El segundo sólo
función con caracteres, es decir, un string con un solo
elemento.
print(chr(8364)) #€
print(ord("€")) #110

La longitud de una cadena viene determinada por su número


de caracteres, y se puede consultar con la función len() .
print(len("Esta es mi cadena"))

Como hemos visto al principio, se puede convertir


a string otras clases, como int o float .
x = str(10.4)
print(x) #10.4
print(type(x)) #<class 'str'>

También se pueden indexar las cadenas, como si de una lista


se tratase.
x = "abcde"
print(x[0]) #a
print(x[-1]) #e

Del mismo modo, se pueden crear cadenas más pequeñas


partiendo de una grande, usando indicando el primer
elemento y el último que queremos tomar menos uno.
x = "abcde"
print(x[0:2])

Si no se indica ningún valor a la derecha de los : se llega


hasta el final.
x = "abcde"
print(x[2:])

Es posible también crear subcadenas que contengan


elementos salteados y no contiguos añadiendo un tercer
elemento entre [] . Indica los elementos que se saltan. En el
siguiente ejemplo se toman elementos del 0 al 5 de dos en
dos.
x = "abcde"
print(x[0:5:2]) #ace

Tampoco es necesario saber el tamaño de la cadena, y el


segundo valor se podría omitir. El siguiente ejemplo es igual
al anterior.
x = "abcde"
print(x[0::2]) #ace

Métodos string
Algunos de los métodos de la clase string .

capitalize()

El método capitalize() se aplica sobre una cadena y la


devuelve con su primera letra en mayúscula.
s = "mi cadena"
print(s.capitalize()) #Mi cadena

lower()

El método lower() convierte todos los caracteres alfabéticos


en minúscula.
s = "MI CADENA"
print(s.lower()) #mi cadena

swapcase()

El método swapcase() convierte los caracteres alfabéticos con


mayúsculas en minúsculas y viceversa.
s = "mI cAdEnA"
print(s.swapcase()) #Mi CaDeNa

upper()

El método upper() convierte todos los caracteres alfabéticos


en mayúsculas.
s = "mi cadena"
print(s.upper())

count(<sub>[, <start>[, <end>]])

El método count() permite contar las veces que otra cadena


se encuentra dentro de la primera. Permite también dos
parámetros opcionales que indican donde empezar y acabar
de buscar.
s = "el bello cuello "
print(s.count("llo")) #2

isalnum()

El método isalnum() devuelve True si la cadena esta formada


únicamente por caracteres alfanuméricos, False de lo
contrario. Caracteres como @ o & no son alfanumericos.
s = "[email protected]"
print(s.isalnum())

isalpha()

El método isalpha() devuelve True si todos los caracteres son


alfabéticos, False de lo contrario.
s = "abcdefg"
print(s.isalpha())

strip([<chars>])

El método strip() elimina a la izquierda y derecha el carácter


que se le introduce. Si se llama sin parámetros elimina los
espacios. Muy útil para limpiar cadenas.
s = " abc "
print(s.strip()) #abc

zfill(<width>)

El método zfill() rellena la cadena con ceros a la izquierda


hasta llegar a la longitud pasada como parámetro.
s = "123"
print(s.zfill(5)) #00123

join(<iterable>)
El método join() devuelve la primera cadena unida a cada
uno de los elementos de la lista que se le pasa como
parámetro.
s = " y ".join(["1", "2", "3"])
print(s) #1 y 2 y 3

split(sep=None, maxsplit=-1)

El método split() divide una cadena en subcadenas y las


devuelve almacenadas en una lista. La división es realizada
de acuerdo a el primer parámetro, y el segundo parámetro
indica el número máximo de divisiones a realizar.
s = "Python,Java,C"
print(s.split(",")) #['Python', 'Java', 'C']

También podría gustarte