Tipos de datos, operadores y expresiones

Tipos de datos, operadores y expresiones

Python tiene algo que la verdad me hizo que pensar cuando me lo comentaron de esta manera por primera vez, Python es flexible, no es fuertemente tipado, lo que significa que no es necesario declarar el tipo de dato de una variable al momento de su creación. Esto permite a los desarrolladores escribir código de manera más rápida y sencilla, ya que no tienen que preocuparse por la declaración explícita de tipos, y esto es porqeu el programador de python tiene la confianza de no liarla parda. Aún así veremos que podemos tipar las variables si queremos, pero no es obligatorio aunque esto nos ayudará a evitar ciertos errores en un futuro o tener un seguimiento mejor de nuestros proyectos para una escalabilidad futura.

Tipos de datos en Python

Python tiene varios tipos de datos incorporados que se utilizan para almacenar diferentes tipos de información. Algunos de los tipos de datos más comunes en Python son:

Números

En python los casos de los números que tenemos son:

x = 10
y = 3.14
z = 2 + 3j

print(type(x))
# Salida: <class 'int'>
print(type(y))
# Salida: <class 'float'>
print(type(z))
# Salida: <class 'complex'>

Con los números los números, las operaciones arítméticas pueden hacerse fácilmente

a = 10
b = 3
suma = a + b
print("La suma es:", suma)
# Salida: La suma es: 13
resta = a - b
print("La resta es:", resta)
# Salida: La resta es: 7

Cadenas de texto (Strings)

Las cadenas de texto en Python se representan utilizando comillas simples (’ ’) o comillas dobles (” ”). Pueden contener letras, números y caracteres especiales. Aquí como consejo te puedo decir de usar las comillas dobles para que de esta manera cuando necesites que dentro del contenido tenga comillas simples no tengas que escapar el carácter.

nombre = "Javi Lázaro"
mensaje = 'Hola, mi nombre es ' + nombre
print(mensaje)
# Salida: Hola, mi nombre es Javi Lázaro
print("Type: ", type(nombre))
# Salida: Type:  <class 'str'>

En este caso se puede calcular la longitud de una cadena de texto con la función len(). El parámetro de la función es el nombre de la viariable que queremos calcular y devuelve el número de caracteres de la cadena inlcuyendo espacios en blanco.

texto = "Hola, mundo!"
longitud = len(texto)
print("La longitud del texto es:", longitud)
# Salida: La longitud del texto es: 13

También podemos controlar las cadenas de texto con varios métodos incorporados como:

texto = "  Hola, Mundo!  "
print(texto.lower())
# Salida:   hola, mundo!
print(texto.upper())
# Salida:   HOLA, MUNDO!
print(texto.strip())
# Salida: Hola, Mundo!
print(texto.replace("Mundo", "Python"))
# Salida:   Hola, Python!

Si utilizamos le operador + podemos concatenar cadenas de texto.

saludo = "Hola"
nombre = "Javi"
mensaje = saludo + ", " + nombre + "!"
print(mensaje)
# Salida: Hola, Javi!

Tenemos que tener cuidado ya que podemos tener el caso de querer concatenar una cadena de texto con un número y nos dará error.

edad = 30
mensaje = "Tengo " + str(edad) + " años."
# Esto dará un error de tipo TypeError

En este caso cuando ha detectado que edad es un número y no una cadena de texto, para solucionarlo tenemos que convertir el número a cadena de texto utilizando la función str(). También puede ocurrir al revés, querer sumar un número con una cadena de texto que representa un número, en este caso tenemos que convertir la cadena de texto a número utilizando la función int() o float() dependiendo si es un número entero o decimal.

mensajeCorregido = "Tengo " + str(edad) + " años."
print(mensajeCorregido)
# Salida: Tengo 30 años.

Índices en los strings de Python

En Python, las cadenas de texto (strings) son secuencias de caracteres, y cada carácter en la cadena tiene una posición o índice asociado. Los índices comienzan en 0 para el primer carácter, 1 para el segundo carácter, y así sucesivamente. También se pueden utilizar índices negativos para acceder a los caracteres desde el final de la cadena, donde -1 representa el último carácter, -2 el penúltimo, y así sucesivamente.

texto = "Python"
print(texto[0])  # Salida: P (primer carácter)
print(texto[1])  # Salida: y (segundo carácter)
print(texto[-1]) # Salida: n (último carácter)
print(texto[-2]) # Salida: o (penúltimo carácter)

Tenemos también la función de slicing que nos permite obtener una subcadena de una cadena de texto especificando un rango de índices. La sintaxis para el slicing es cadena[inicio:fin], donde inicio es el índice del primer carácter que queremos incluir y fin es el índice del primer carácter que no queremos incluir.

texto = "Python"
subcadena = texto[1:4]
print(subcadena)  # Salida: yth

Además de esto está la función index() que nos permite encontrar la posición de la primera aparición de un carácter o subcadena dentro de una cadena de texto. Si el carácter o subcadena no se encuentra, se genera una excepción ValueError.

texto = "Hola, mundo!"
posicion = texto.index("mundo")
print("La posición de 'mundo' es:", posicion)
# Salida: La posición de 'mundo' es: 6

Listas

Las listas en Python son colecciones ordenadas y mutables que pueden contener elementos de diferentes tipos de datos como números, strings, listas, etc. Se definen utilizando corchetes [], y los elementos dentro de la lista están separados por comas.

frutas = ["manzana", "banana", "cereza"]
print(frutas)
# Salida: ['manzana', 'banana', 'cereza']
print(type(frutas))
# Salida: <class 'list'>

Podemos acceder a los elementos de una lista utilizando índices, al igual que con las cadenas de texto.

print(frutas[0])
# Salida: manzana
print(frutas[1])
# Salida: banana

También podemos modificar los elementos de una lista asignando un nuevo valor a un índice específico.

frutas[1] = "naranja"
print(frutas)
# Salida: ['manzana', 'naranja', 'cereza']

Estas listas también nos dan la opción de poder añadir nuevos elementos utilizando el método append().

frutas.append("uva")
print(frutas)
# Salida: ['manzana', 'naranja', 'cereza', 'uva']

Podemos eliminar elementos de una lista utilizando el método remove() o la instrucción del.

frutas.remove("naranja")
print(frutas)
# Salida: ['manzana', 'cereza', 'uva']   
del frutas[0]
print(frutas)
# Salida: ['cereza', 'uva']

En este caso como hemos visto anteriormente en las cadenas de texto, también podemos utilizar índices negativos para acceder a los elementos desde el final de la lista.

print(frutas[-1])
# Salida: uva
print(frutas[-2])
# Salida: cereza

Operadores racionales y lógicos

Los operadores racionales y lógicos son fundamentales en Python para realizar comparaciones y tomar decisiones en el flujo de control del programa.

OperadorNombreEjemplo
==Igualdada == b (verdadero si a es igual a b)
!=Desigualdada != b (verdadero si a no es igual a b)
>Mayor quea > b (verdadero si a es mayor que b)
<Menor quea < b (verdadero si a es menor que b)
>=Mayor o igual quea >= b (verdadero si a es mayor o igual que b)
<=Menor o igual quea <= b (verdadero si a es menor o igual que b)
andY lógicoa and b (verdadero si ambos a y b son verdaderos)
orO lógicoa or b (verdadero si al menos uno de a o b es verdadero)
notNegación lógicanot a (verdadero si a es falso)

Estos operadores se utilizan comúnmente en estructuras de control como declaraciones if, bucles while, y en expresiones booleanas para evaluar condiciones y tomar decisiones basadas en los resultados de esas evaluaciones.

a = 10
b = 5
if a > b:
   print("a es mayor que b") 
# Salida: a es mayor que b
if a == 10 and b == 5:
   print("Ambas condiciones son verdaderas")
# Salida: Ambas condiciones son verdaderas
if not a < b:
   print("a no es menor que b")
# Salida: a no es menor que b

¿Listo para hacer crecer tu negocio?

Analicemos tu proyecto y definamos la estrategia perfecta para alcanzar tus objetivos

Solicitar consultoría gratuita