Variables y tipos de datos#

Variables#

En programación, una variable es un lugar en la memoria del ordenador donde podemos almacenar un valor. Este valor puede cambiar según se necesite.

Podemos darle a la variable cualquier nombre que elijamos, siempre y cuando siga ciertas reglas (en Python, debe comenzar con una letra o guion bajo y no puede contener espacios). Luego podemos usar este nombre para recuperar el valor más tarde.

Imagina el marcador de un partido de baloncesto. Los puntos de cada equipo 3️⃣4️⃣ : 3️⃣6️⃣ van cambiando, pero se almacenan en una variable de nombre, por ejemplo ‘puntuacion’. De este modo: puntuacion = 34, puntuacion = 36, …

Se puede imaginar una variable como una caja en la memoria del ordenador donde puedes almacenar un valor. Si quieres usar ese valor, tienes que referirte a la caja por su etiqueta.Aquí tienes una representación gráfica de lo que es una variable:

myNum = 4

En este caso, myNum es el nombre de la variable, y 4 es el valor que estamos asignándole.

Tip

La idea es que las variables nos ayuden a almacenar información que necesitemos volver a consultar y/o cambiar en el tiempo

Por ejemplo, podemos crear esta variable para almacenar el precio actual del dólar respecto al euro.

USD_EUR = 0.94

O esta respecto el nombre del cliente que actualmente estamos atendiendo. Fíjate como los valores de tipo texto se escriben entre comillas.

cliente = "Mauricio"

O algo más complicado como alguna estructura de datos, lo cual veremos más adelante. Por ejemplo podemos almacenar los empleados actuales de una empresa en una lista.

empleados = ["Alberto", "Sebastián", "María", "Ignacio", "Isabel", "Eduardo"]

Reglas para nombrar una variable#

Durante el uso de Python, vas a tener que nombrar variables y funciones con frecuencia. No obstante, existen ciertas reglas y buenas prácticas para seguir. Algunas de ellas son obligatorias (impuestas por el lenguaje), y otras son simplemente convenciones que puedes seguir.

Vamos a ver las reglas y buenas prácticas para nombrar variables en Python.

Reglas Específicas#

  • Case Sentitive : Los nombres de variables en Python son sensibles a mayúsculas (ABC) y minúsculas (abc). Por ejemplo, variable, Variable y VARIABLE son consideradas diferentes.

#Estas variables son distintas
nombre = "Manolo"
Nombre = "Pepe"
  • Inicio de Nombre: El nombre de la variable debe comenzar con una letra (a-z, A-Z) ✅ o un guión bajo (_) ✅. No debe comenzar con números ni otros caracteres ❌.

variable = 42 #Correcto
_variable_privada = "Python" # Correcto
1variable = "Error"  # Incorrecto, no debe comenzar con un número
  • Caracteres Permitidos: Los nombres de variables pueden contener letras (a-z, A-Z) ✅, dígitos (0-9) ✅ y guiones bajos (_) ✅. No se permiten otros caracteres especiales como espacios, signos de puntuación o símbolos ❌.

mi_variable = "Python"
edad3 = 30
mi_variable@ = "Error"  # Incorrecto, no se permite el símbolo @
  • Palabras Reservadas: No se pueden utilizar palabras reservadas de Python ❌, como nombres de fuciones. Por ejemplo, if, else, for, while, entre otras

if = 10  # Incorrecto, if es una palabra reservada
while = 12 #Incorrecto, while es una palabra reservada
mi_if = 10  # Correcto, añadiendo prefijo o sufijo a la palabra reservada
  • Legibilidad y Significado: Es importante elegir nombres de variables que sean descriptivos y reflejen su uso en el contexto del programa. Esto mejora la legibilidad y comprensión del código.

total_compras = 100
num = 100  # Menos descriptivo, se desconoce el propósito

Convenciones de Estilo#

Python PEP 8 (Guía de Estilo para el Código Python) sugiere convenciones adicionales para mejorar la legibilidad del código:

  • snake_case: 🐍 Para nombres de variables, funciones y métodos. Por ejemplo, mi_variable, calcular_total.

nombre_completo = "Luis Pérez"
calculo_total = 36
  • camelCase: 🐪 Para nombres de variable y clases en Python. Por ejemplo, miVariable, miVariableEspecial.

nombreCompleto = "Luis Pérez"
calculoTotal = 36 
  • PascalCase: 🧑‍🔬 Para nombres de variable y clases en Python. Por ejemplo, MiVariable, MiVariableEspecial.

NombreCompleto = "Luis Pérez"
CalculoTotal = 36 
  • MAYÚSCULAS: Para el caso de constantes, separadas por guiones bajos, siguiendo el estilo CONSTANTE_DE_EJEMPLO

GRAVEDAD = 9.8
ALTURA_HIMALAYA = 8849

A continuación, veremos los ejemplos más básicos de los tipos de datos que podemos almacenar.

Tipos de datos#

El valor que asignas a una variable puede ser de muchos tipos diferentes, y el tipo determina qué tipo de operaciones puedes realizar con el valor. Estos son algunos de los tipos de datos más comunes:

Entero (o Integer)#

Un entero es un número completo (sin un punto decimal). Puede ser positivo o negativo. Por ejemplo:

myInteger = 5
myNegativeInteger = -3

Nótese que la traducción de “entero” a inglés es integer.

Un procedimiento muy utilizado en programación es el de incremento. Es una operación que aumenta el valor de una variable en una cantidad específica, que generalmente es 1. Se utiliza, por ejemplo, para almacenar el número de veces que se repite un proceso.

contador = 2
contador = contador + 1
print(contador)
# La variable contador termina como 3
3
# Aunque la manera de incrementar una variable es válida como se muestra anteriormente, 
# en Python suele  simplificarse así:
contador = 2
contador += 1
print(contador)
3

Decimal (o Float)#

Un flotante es un número que incluye un punto decimal. Puede ser positivo o negativo. Por ejemplo:

myFloat = 3.14
myNegativeFloat = -0.01

Cabe destacar que el separador de decimales es el punto en lugar de la coma.

Cadena (o String)#

Una cadena es una secuencia de caracteres, o también mas comúnmente conocido como un texto. En Python, puedes crear una cadena encerrando caracteres entre comillas simples (’) o comillas dobles (“). Por ejemplo:

myString = '¡Hola, mundo!'
anotherString = "Python es divertido"

Concatenar cadenas#

Puedes unir una cadena con otra, a ello se le llama concatenar. Una manera común de hacerlo es usando el símbolo + entre dos cadenas de texto.

años = 34
mensaje = "tengo " + str(años) + " años de edad"
print(mensaje)
tengo 34 años de edad

Nótese como tuvimos que forzar a que la variable años fuera un String, usando la función str. Hablaremos de esto más adelante en la guía.

Booleano (o Boolean)#

Un booleano es un tipo que solo puede tener uno de dos valores: Verdadero o Falso. Los booleanos a menudo se usan en condiciones, como en una declaración if. Por ejemplo:

enviado = True (o False)
enviado = False

Pon atención en el hecho de que True y False empiezan con mayúsculas. Esto es distinto en otros lenguajes de programación.

Convirtiendo Entre Tipos#

En Python, puedes convertir valores entre diferentes tipos 🔁 utilizando funciones como int(), float(), y str(). Sin embargo, no todas las conversiones están permitidas - por ejemplo, no puedes convertir el string “hola” a un entero.

Aquí hay un ejemplo de cómo convertir un flotante a un entero:

myFloat = 3.14
myInteger = int(myFloat) # Esto nos dará el valor 3

Nota que cuando conviertes un flotante a un entero en Python, no redondea al número entero más cercano - siempre trunca.

Aquí hay otro ejemplo usando la función str():

myInteger = 10
print("La variable myInteger es de tipo: " + str(type(myInteger))) # output: La variable myInteger es de tipo: <class 'int'>
La variable myInteger es de tipo: <class 'int'>

Obteniendo el tipo de las variables#

¿Viste eso de type() que usamos en el último código?

En Python, si alguna vez te encuentras en una situación en la que no estás seguro del tipo de una variable o simplemente deseas verificarlo, puedes utilizar la función type(). Esta función devuelve el tipo de la variable que le pases como argumento.

Por ejemplo, si tienes una variable que es un string y quieres confirmar que es así:

myString = "¡Hola, Python!"
print(type(myString))
<class 'str'>

Al ejecutar el código anterior, obtendrías la salida <class ‘str’>, lo que indica que la variable myString es de tipo cadena (o str en inglés).

Del mismo modo, si tienes un número entero:

myInteger = 42
print(type(myInteger))
<class 'int'>

El resultado sería <class ‘int’>, confirmando que es un número entero.

Es importante resaltar que type() es extremadamente útil para la depuración y para entender mejor el comportamiento de tu código, especialmente cuando trabajas con funciones o librerías que pueden devolver diferentes tipos de datos.

Resumen

nombre = "Juan"  # String (o cadena de texto)
edadEmpleado = 30        # Integer (o entero)
altura = 1.75    # Float (o decimal)
es_estudiante = True  # Boolean (o booleano)