Conocer los tipos de datos y las variables resulta imprescindible si queremos desarrollar cualquier código en Python, por sencillo que sea.
Cuando programamos en un lenguaje como pueda ser Python, el manejo de los datos resulta fundamental. No hay código, realmente útil, que no recurra a la gestión de datos de diferentes tipos, pues son los que le dan un verdadero sentido a las tareas que queramos ejecutar.
Los datos pueden presentarse en formato simple o agrupados en estructuras, pero en esta lección vamos a centrarnos sólo en el primer caso. Dentro de ese formato estudiaremos los más habituales, como puedan ser: los números enteros, los números decimales, las cadenas de texto y los valores booleanos.
Tipos básicos de datos
La siguiente tabla nos muestra cuáles son los tipos básicos de datos en Python:
Símbolo | Tipo |
---|---|
int | Son los números enteros, tanto positivos como negativos |
float | Son los números decimales, también llamados de coma flotante |
String | Son las cadenas de caracteres |
bool | Son los datos booleanos, que sólo pueden contener dos valores: True (verdadero) o False (falso) |
Respecto a la tabla anterior, debemos resaltar los siguientes puntos:
- Los datos enteros (
int
) son los más utilizados y son indispensables para el funcionamiento de cualquier programa (por muy sencillo que sea). - En los datos de coma flotante (
float
) podemos precisar la cantidad de decimales a mostrar. - Los datos del tipo
String
son en realidad objetos (ya estudiaremos más adelante qué significa esto) y, según hemos visto en la tabla, representan a cadenas de caracteres. Éstas irán encerradas entre comillas dobles o comillas simples, precisamente para indicar que lo que contienen es una cadena de texto. - Los datos booleanos también resultan necesarios para el funcionamiento de cualquier programa, por lo que son muy utilizados. Sus dos valores posibles (
True
oFalse
) se generan, por ejemplo, cuando en nuestro código planteamos una condición y ésta nos da un valor de vuelta, según sea cierta (nos dará el valor deTrue
) o falsa (nos retornaráFalse
). - El valor booleano
True
equivale al entero 1 y el valor booleanoFalse
se puede representar por el entero 0 (esto lo entenderás mejor a medida que avances en el curso).
Veamos algunos ejemplos de datos del tipo entero (int
):
6
29
-45
890
Ahora, sigamos con unos ejemplos de datos de tipo coma flotante (float
):
28.1789
8.5
-27.45
A continuación, veremos unos ejemplos de datos de tipo String
:
"Juan"
"h"
"Hoy hace un bonito día"
"1234"
Conviene observar que el último de los ejemplos anteriores pudiera confundirse con un dato entero, pero Python lo considera una cadena de texto desde el mismo momento en que la encerramos entre comillas. Al tratarse de una cadena, no podremos realizar con ella operaciones aritméticas; ya que, para hacerlo, requerirá reconvertirse a un dato numérico (del tipo entero o de coma flotante), transformación que aprenderemos a realizar dentro de poco.
Concepto de variables
Comencemos definiendo qué es una variable:
Una variable es un espacio, en la memoria RAM de nuestro ordenador, en el que almacenamos un dato que puede cambiar durante la ejecución del programa.
Esta explicación, un tanto técnica, requiere de algunas aclaraciones:
- La memoria RAM de nuestro ordenador (también la de un portátil, la de un móvil o la de una tablet) es un espacio de almacenamiento temporal. Los datos del programa se almacenan ahí mientras dura su ejecución, borrándose en el momento en que el programa termina de ejecutarse.
- La memoria RAM se puede asemejar a un conjunto de muchas «celdas», a las que denominamos bytes, que nos sirven para alojar los datos. Hay datos que, para ser almacenados, requieren de un número pequeño de bytes y otros necesitan un número mayor.
- Una variable, por tanto, será el nombre o etiqueta que demos al conjunto de bytes en los que tenemos almacenado un dato en concreto; de manera que, en lugar de referenciar a ese espacio con una dirección numérica, lo haremos recurriendo al nombre de la variable.
Por ejemplo, supongamos que escribes un código que necesita manipular un número entero. Pues bien, la ejecución de tu programa almacenará ese tipo de dato en un espacio concreto de la memoria RAM, al que identificará con el nombre que tú quieras darle. Cada vez que necesites recurrir a ese dato, bastará conque utilices el nombre identificativo (la variable) del espacio de memoria RAM que lo contiene.
El nombre de las variables
Como ya hemos dicho, el programador es quien decide qué nombre va a dar a cada variable. Pero siguiendo algunas reglas:
- El nombre siempre comenzará por una letra, ya sea mayúscula o minúscula.
- El nombre sólo estará compuesto por una cantidad indefinida de letras y números. También podrá utilizarse el signo guion – bajo (normalmente como elemento de separación, cuando el nombre de la variable consista en una palabra compuesta).
- Para el nombre de una variable nunca se utilizarán los signos de puntuación. Tampoco es recomendable, aunque no está prohibido, utilizar la «ñ».
- Aunque podemos dar el nombre que queramos a una variable (siempre y cuando sigamos las reglas anteriores), conviene que éste sea descriptivo para que nos ayude a distinguir qué dato referencia.
Algunos ejemplos de nombres de variables serían:
numero1
persona
clase_alumnos
Muy importante: Python es un lenguaje de programación case sensitive. Esto significa que distingue entre las mayúsculas y las minúsculas. En otras palabras: para Python, las variables pepe
, Pepe
y PEPE
son distintas, por lo que podemos utilizarlas para referenciar espacios de memoria diferentes.
Una práctica muy común, cuando el nombre de una variable esté formado por palabras compuestas, es poner las palabras juntas (sin usar como separador el guion – bajo), pero poniendo en mayúscula el primer carácter de la segunda palabra y de las sucesivas.
Veamos algunos ejemplos:
hijoMayor
escuelaPrimaria
sueldoEmpleado
Declarar una variable y asignarle un valor
Declarar una variable consiste en indicar qué tipo de dato va a contener. Es decir, qué tipo de dato está almacenado en la porción de memoria RAM a la que referencia la variable.
En muchos lenguajes de programación, antes de utilizar una variable hay que indicar (declarar) qué tipo de dato contendrá, pero en Python no es necesario: la variable asume automáticamente el tipo al que pertenece el dato referenciado (por eso decimos que Python es un lenguaje de tipado dinámico).
Por ejemplo: si una variable apunta a una posición de memoria que contiene un dato del tipo entero, la variable también será de tipo entero.
Lo dicho anteriormente puede llevarnos a un problema; y es que, una variable que apunta a un dato de un determinado tipo ya no podrá representar a un dato de otro tipo. Sí que podrá representar a otro dato, pero dentro del mismo tipo (de ahí que Python sea considerado un lenguaje fuertemente tipado).
Esto lo entenderemos enseguida, después de explicar en qué consiste la asignación de un valor a una variable.
Asignarle un valor a una variable consiste en hacer que la variable quede asociada al dato contenido en un determinado espacio de la memoria RAM.
Para lograrlo, pondremos el nombre de la variable seguido del signo de asignación = y del valor que al que vayamos a asociarla (un entero, un decimal, un booleano, una cadena de caracteres…).
He aquí, algunos ejemplos de asignación de un valor a una variable:
aforo = 200
cadena1 = "Es primavera"
valor = True
porcentaje = 25.8
También, una variable puede asumir el valor de otra variable:
nombre1 = "Juan"
nombre2 = nombre1
En el ejemplo anterior, la variable nombre2 igualmente equivale a la cadena de texto «Juan».
Mostrar pon pantalla el contenido de una variable
Todavía es pronto para explicar qué es una función, pero adelantemos que Python tiene una serie de funciones predefinidas (que vienen con el propio lenguaje) y una de ellas es print ()
.
La función print ()
nos permite imprimir por consola (en la pantalla de nuestro dispositivo) el dato contenido entre sus paréntesis. Este dato lo podremos escribir de forma literal o poner la variable que lo representa.
Veamos un pequeño código que ilustra lo descrito:

El código anterior imprimirá por consola: «El número es: » y, tras realizar un salto de línea (toda impresión hecha con la función print ()
, por defecto, termina con un salto de línea), se imprimirá: 9.
Para ejecutarlo, en tu entorno de Sublime Text 3, primero tendrás que guardarlo con la combinación de teclas CTRL + S
, y después abrir una nueva ventana de la consola con la combinación CTRL + ALT + b
.
Ejercicios prácticos
Ejercicio 1:
Deberás escribir un código que asigne un valor a una variable de tipo entero, a una variable de tipo coma flotante, a otra del tipo String y, por último, a una cuarta del tipo booleano. Después tendrá que imprimirse por consola el contenido de todas las variables.
Ejercicio 2:
Realiza un programa que asigne una cadena de texto a una variable y que después la imprima. Posteriormente, el código cambiará el contenido asignado a la variable, por otra cadena de texto, y volverá a imprimirla.
La solución a estos dos ejercicios podrás encontrarla en el menú Ejercicios resueltos.