Strings en Python

¿Qué es una cadena de caracteres en Python?

Una cadena de caracteres o string en Python es una secuencia de caracteres que representa texto. Las cadenas de caracteres pueden ser creadas usando comillas simples (‘…’) o comillas dobles (“…”).

Por ejemplo:


a = "Hola mundo"
b = 'Bienvenido a Python'

Lenguaje del código: Python (python)

Las cadenas de caracteres en Python son objetos inmutables, lo que significa que una vez que se crea una cadena de caracteres, no se puede modificar. Sin embargo, se pueden concatenar o repetir para crear nuevas cadenas de caracteres.

Por ejemplo:


a = "Hola"
b = " mundo"
c = a + b
print(c) # Hola mundo

d = "Python " * 3
print(d) # Python Python Python

Lenguaje del código: Python (python)

Las cadenas de caracteres en Python también pueden ser indexadas y tratadas como secuencias, lo que significa que se pueden acceder a cualquier carácter individual de una cadena de caracteres.

Por ejemplo:


a = "Hola mundo"
print(a[4]) # m
print(a[1:4]) # ola

Lenguaje del código: Python (python)

Formato de cadenas en Python

El formateo de cadenas en Python es una técnica para combinar cadenas de caracteres con valores dinámicos para crear una cadena de salida formateada. Hay dos formas principales de formatear cadenas en Python:

  • Concatenación de cadenas: Esta es la forma más básica de formatear cadenas en Python y consiste en concatenar cadenas de caracteres y valores dinámicos mediante el uso del operador +. Por ejemplo:

nombre = "Juan"
edad = 30
cadena = "Hola, mi nombre es " + nombre + " y tengo " + str(edad) + " años."
print(cadena) # Hola, mi nombre es Juan y tengo 30 años.

Lenguaje del código: Python (python)
  • Formateo con %: Este método utiliza el carácter % para insertar valores dinámicos en una cadena de caracteres. Por ejemplo:

nombre = "Juan"
edad = 30
cadena = "Hola, mi nombre es %s y tengo %d años." % (nombre, edad)
print(cadena) # Hola, mi nombre es Juan y tengo 30 años.

Lenguaje del código: Python (python)
  • Formateo con format(): Este método utiliza el método format() para insertar valores dinámicos en una cadena de caracteres. Por ejemplo:

nombre = "Juan"
edad = 30
cadena = "Hola, mi nombre es {} y tengo {} años.".format(nombre, edad)
print(cadena) # Hola, mi nombre es Juan y tengo 30 años.

Lenguaje del código: Python (python)
  • F-strings (cadenas con formato): usa f-strings para insertar valores dinámicos en una cadena. Esta es la forma más moderna y recomendada de hacerlo en Python 3.6 y versiones posteriores.

name = "John"
age = 30
text = f"My name is {name} and I am {age} years old."
print(text)
# Output: My name is John and I am 30 years old.

Lenguaje del código: Python (python)

Estos son algunos ejemplos de cómo puedes hacer formato de cadenas en Python. Hay muchas otras formas de hacerlo, por lo que es una buena idea consultar la documentación de Python para obtener más información.

Métodos string en Python

Python tiene muchos métodos incorporados para trabajar con cadenas de texto. Aquí hay algunos de los métodos más comunes con ejemplos para ayudarte a entender cómo funcionan:

  1. upper(): convierte todas las letras de una cadena a mayúsculas.

text = "hello world"
print(text.upper())
# Output: HELLO WORLD

Lenguaje del código: Python (python)
  1. lower(): convierte todas las letras de una cadena a minúsculas.

text = "HELLO WORLD"
print(text.lower())
# Output: hello world

Lenguaje del código: Python (python)
  1. strip(): elimina los espacios en blanco al principio y al final de una cadena.

text = "   hello world   "
print(text.strip())
# Output: hello world

Lenguaje del código: Python (python)
  1. replace(old, new): reemplaza todas las ocurrencias de una subcadena con una nueva subcadena.

text = "hello world"
print(text.replace("world", "python"))
# Output: hello python

Lenguaje del código: Python (python)
  1. split(sep): divide una cadena en una lista de subcadenas usando un separador dado.

text = "hello,world,python"
print(text.split(","))
# Output: ['hello', 'world', 'python']

Lenguaje del código: Python (python)
  1. join(iterable): une una lista de cadenas en una única cadena usando la cadena actual como separador.

words = ["hello", "world", "python"]
text = " ".join(words)
print(text)
# Output: hello world python

Lenguaje del código: Python (python)
  1. len(string): devuelve la longitud de una cadena, es decir, el número de caracteres en la cadena.

text = "hello world"
print(len(text))
# Output: 11

Lenguaje del código: Python (python)
  1. startswith(prefix): devuelve True si una cadena comienza con un prefijo dado, de lo contrario devuelve False.

text = "hello world"
print(text.startswith("hello"))
# Output: True

Lenguaje del código: Python (python)
  1. endswith(suffix): devuelve True si una cadena termina con un sufijo dado, de lo contrario devuelve False.

text = "hello world"
print(text.endswith("world"))
# Output: True

Lenguaje del código: Python (python)
  1. find(substring): devuelve el índice de la primera aparición de una subcadena en una cadena, o -1 si la subcadena no se encuentra en la cadena.

text = "hello world"
print(text.find("world"))
# Output: 6

Lenguaje del código: Python (python)
  1. index(substring): funciona de manera similar a find, pero en su lugar lanza una excepción ValueError si la subcadena no se encuentra en la cadena.

text = "hello world"
print(text.index("world"))
# Output: 6

Lenguaje del código: Python (python)
  1. count(substring): devuelve el número de ocurrencias de una subcadena en una cadena.

text = "hello world, world"
print(text.count("world"))
# Output: 2

Lenguaje del código: Python (python)
  1. format(): permite insertar valores dinámicos en una cadena.

name = "John"
age = 30
text = "My name is {} and I am {} years old.".format(name, age)
print(text)
# Output: My name is John and I am 30 years old.

Lenguaje del código: Python (python)
  1. isdigit(): devuelve True si una cadena contiene solo dígitos y False en caso contrario.

text = "12345"
print(text.isdigit())
# Output: True

Lenguaje del código: Python (python)
  1. isalpha(): devuelve True si una cadena contiene solo letras y False en caso contrario.

text = "hello"
print(text.isalpha())
# Output: True

Lenguaje del código: Python (python)
  1. isalnum(): devuelve True si una cadena contiene solo letras y dígitos y False en caso contrario.

text = "hello123"
print(text.isalnum())
# Output: True

Lenguaje del código: Python (python)
  1. istitle(): devuelve True si una cadena está en formato de título, es decir, si cada palabra comienza con una mayúscula y las demás letras son minúsculas, y False en caso contrario.

text = "Hello World"
print(text.istitle())
# Output: True

Lenguaje del código: Python (python)

Estos son algunos de los métodos de cadenas adicionales en Python que puedes usar para manipular y trabajar con cadenas de texto.