tutz

Cadenas (Strings) en Python

Las cadenas en Python son usadas para guardar información en texto, así como para colecciones de bytes (por ejemplo imágenes en base 64).

Las cadenas son un ejemplo de lo que llamamos secuencias en Python. Las secuencias mantienen un orden de izquierda a derecha entre los elementos que contiene. Sus elementos son guardados y devueltos según su posición relativa que tienen.

Formas de escribir cadenas Para representar una cadena en Python podemos usar comillas simples ('), comillas dobles (") o comillas triples (''' o """).

>>> nombre = 'Ana'
>>> apellido = "Gonzales"
>>> mascotas = '''
... Luna
... Toby
... '''

Aquí tenemos el ejemplo de las diferentes formas para representar cadenas ya sea de una linea o de varias lineas.

Operaciones y literales más comunes

Cadena vacia

>>> S = ''

Cadena con comillas dobles

>>> S = "test"

Cadena con comillas simples

>>> S = 'test'

Cadena con tres comillas

>>> S = """...multilinea..."""

Escapar secuencias

>>> S = "s\np\ta\x00m"

Raw string

>>> S = r'test'

Byte string

>>> B = b'sp\xc4m'

Unicode string

>>> U = u'sp\u00c4m'

Concatenar cadenas

>>> S = 'a' + 'b'
>>> S = 'a' * 3

Indice

>>> S[0]

Slice

>>> S[1:3]

Tamaño

>>> len(S)

Formato

>>> S = "Mi nombre es %s" % "Edwin"
>>> X = "Mi nombre es {0}".format("Edwin")

Secuencias

Estrictamente hablando las cadenas son secuencias de cadenas de un carácter. Y por el hecho de ser secuencias, podemos realizar operaciones sobre ellas que asumen un orden posicional entre sus ítems.

Uno de las funciones que podemos realizar sobre las cadenas es len(), que nos devuelve la cantidad de elementos que tiene una secuencia.

>>> apellido = 'Landeo'
>>> len(apellido)
6

Indices

Otra cosa importante de las secuencia en Python son los indices, estos son codificados desde izquierda comenzando desde 0, es decir, el primer elemento tiene el indice 0, el segundo elemento el indice 1, y asi sucesivamente.

>>> nombre = 'Salvador'
>>> nombre[0]
'S'

Por ejemplo podemos traer el primer elemento de la secuencia, si le pasamos entre corchetes el indice del elemento que deseamos devolver.

En Python, nosotros podemos usar el indice reverso, comenzar a contar desde el final. Por ejemplo el primer indice de derecha a izquierda sería -1, el segundo -2, y asi sucesivamente.

Hay que tener presente que el indice -1 es lo mismo que el tamaño de la cadena - 1. Veamos en código:

>>> ciudad = 'Trujillo'
>>> ciudad[-1]
'o'
>>> ciudad[len(ciudad) - 1]
'o'

Es preferible usar la primera forma, ya que es mas simple y corta.

Las cadenas tienen muchos métodos que podemos usar las principales son: slice, split, find, replace, format, entre otras. Si usar la función dir() veras todos los métodos que puedes usar.

En otros artículos dentro de Tutz podrás encontrar cada uno de estos métodos a detalle.

Las cadenas de comillas simples y dobles son iguales

En Python puedes escribir las cadenas ya sea con comillas simples o dobles da lo mismo, tienen el mismo resultado. Por ejemplo las siguientes cadenas son idénticas:

>>> simple = "Cadena"
>>> doble = 'Cadena'
>>> simple == doble
True

El motivo por el que se permiten las dos opciones es para poder incrustar un carácter de comillas de la otra variedad dentro de una cadena sin escapar con una barra invertida. Puedes incrustar un carácter de comilla simple en una cadena de comillas dobles y viceversa:

>>> 'hol"a', "hol'a"
('hol"a', "hol'a")

Aunque no hay una forma oficial que diga como es recomendable escribir una cadena, si se da que la documentación de Python suele usar las comillas simples, yo en particular tambien suelo escribir las cadenas con comillas simples.

Aunque en varios proyectos que me uni los desarrolladores ya tenian la costumbre de escribir las cadenas en comillas dobles así que yo seguía el estilo de código.

Así en conclusión depende mucho de ti y del equipo para elegir como escribir las cadenas en Python.