Volver al índice Variables

En esta primera lección dedicada a las variables aprenderás aspectos generales de las variables y algunos detalles de las variables numéricas. En concreto aprenderás:


Qué es una variable

En Informática, una variable es "algo" en lo que puedes almacenar información para su uso posterior. En Python, una variable puede almacenar un número, una letra, un conjunto de números o de letras o incluso conjuntos de conjuntos.


Definir una variable

Las variables en Python se crean cuando se definen, es decir, cuando se les asigna un valor. Para crear una variable, escribe una igualdad con la variable en la izquierda y el valor que quieras darle a la derecha. Los siguientes ejemplos son definiciones de variables:

>>> x = 2.5

>>> ABCISA = 4 + 5

>>> Nombre1 = "Pepito Conejo"

>>> _y2 = 'p'

>>> dias_de_la_semana = [ 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado', 'Domingo' ]

>>> Fecha_de_nacimiento = [ 'Lunes', 27, 'Octubre', 1997]

>>> año = 1492

SyntaxError: invalid syntax

El nombre de una variable debe empezar por una letra o por un carácter subrayado (_) y puede seguir con más letras, numéros o subrayados. Puedes utilizar mayúsculas, pero ten en cuenta que Python distingue entre mayúsculas y minúsculas. Es decir, que A y a son para Python variables distintas. Las letras permitidas son las del alfabeto inglés, por lo que están prohibidas la ñ, la ç o las vocales acentuadas. Las palabras reservadas del lenguaje (las que IDLE escribe en naranja) también están prohibidas. En caso de que intentes dar un nombre incorrecto a una variable, Python mostrará un mensaje de error al ejecutar el programa.

Cada variable se identifica por su nombre, así que en principio no puede haber dos variables distintas con el mismo nombre. (La verdad es que sí que puede haber dos variables distintas con el mismo nombre, pero sólo si cada una de las variables "existe" en su propio espacio, separada de la otra. Lo veremos más adelante.)

Aunque no es obligatorio, normalmente conviene que el nombre de la variable esté relacionado con la información que se almacena en ella, para que sea más fácil entender el programa. Mientras estás escribiendo un programa, esto no parece muy importante, pero si consultas un programa que has escrito hace tiempo (o que ha escrito otra persona), te resultará mucho más fácil entender el programa si los nombres están bien elegidos. También se acostumbra a utilizar determinados nombres de variables en algunas ocasiones, como irás viendo más adelante, pero esto tampoco es obligatorio.

Al definir una cadena, es decir una variable que contiene letras, debes escribir su valor entre comillas (") o apóstrofos ('), como prefieras.


Tipos de variables

En el ejemplo anterior hay definiciones de algunos tipos de variables que hay en Python: números decimales, números enteros, cadenas (una o más letras) y listas (conjuntos de números, cadenas o listas).

Aunque se definan de forma similar, para Python no es lo mismo un número entero, un número decimal, una cadena o una lista ya que, por ejemplo, dos números se pueden multiplicar pero dos cadenas no (curiosamente, una cadena sí que se puede multiplicar por un número).

Por tanto, estas tres definiciones de variables no son equivalentes:

>>> Fecha = 1997

>>> Fecha = 1997.0

>>> Fecha = "1997"

En el primer caso la variable Fecha está almacenando un número entero, en el segundo Fecha está almacenando un número decimal y en el tercero Fecha está almacenando una cadena de cuatro letras.

Este ejemplo demuestra también que se puede volver a definir una variable cambiando su tipo.


Definir varias variables a la vez

En una misma línea puedes definir simultáneamente varias variables, con el mismo valor o con valores distintos, como muestra el siguiente ejemplo:

>>> a = b = 99

>>> c, d, e = "Mediterráneo", 10, ["pan", "queso"]

En el primer caso las dos variables tendrán el mismo valor. En el segundo caso la primera variable tomará el primer valor y así sucesivamente. Si en este segundo caso no coincide el número de variables con el de valores, Python muestra un mensaje de error. Haz la prueba.


Mostrar el valor de las variables en IDLE

Para que IDLE muestre el valor de una variable, sólo tienes que escribir su nombre. También puedes conocer el valor de varias variables a la vez escribiéndolas entre comas (IDLE las mostrará entre paréntesis), como muestra el siguiente ejemplo:

>>> a, b, c = 2, 'pepe', "a"

>>> a

2

>>> c, b

('a', 'pepe')


Utilizar variables ya definidas

Una vez has definido una variable, puedes utilizarla para hacer cálculos o para definir nuevas variables, como muestran los siguientes ejemplos:

>>> a = 2

>>> a + 3

5

>>> horas = 1

>>> minutos = 2

>>> segundos = 3

>>> segundos + 60*minutos + 3600*horas

3723

>>> horas = 5

>>> minutos = 60 * horas

>>> segundos = 60 * minutos

>>> segundos

18000

En caso de que utilices una variable no definida anteriormente, Python mostrará un mensaje de error.


Es importante recordar que los nombres de las variables no tienen sentido real para Python, son simples etiquetas para referirse al contenido.

Prueba este ejemplo, en el que el ordenador crea dos variables y las suma, aunque en el mundo real es sabido que no se pueden sumar peras y manzanas:

>>> peras = 7

>>> manzanas = 22

>>> peras + manzanas

29

Prueba este otro ejemplo:

>>> distancia = 100

>>> tiempo = 4

>>> distancia + tiempo

104

>>> distancia * tiempo

400

>>> distancia / tiempo

25

En este ejemplo, una vez definidas las variables distancia y tiempo, Python te deja que hagas las operaciones que quieras, tengan o no sentido físico. De hecho, en los tres cálculos del ejemplo solamente la división tiene sentido físico (la velocidad).


Puedes modificar el valor que almacena una variable en cualquier momento, pero eso no modificará las otras variables calculadas a partir de ella, como puedes ver en el siguiente ejemplo:

>>> a = 10

>>> b = a + 5

>>> a, b

(10,15)

>>> a = 20

>>> a, b

(20,15)


Puedes definir una variable utilizando su propio valor. Por ejemplo

>>> a = 10

>>> a = a + 5

>>> a

15

Fíjate en que a = a + 5 no es una ecuación (no tendría solución), sino una asignación. Es decir, Python coge el valor almacenado en la variable a, le suma 5, y el resultado lo guarda en la variable a. Existe una notación más compacta, que es la siguiente:

>>> a = 10

>>> a += 5

>>> a

15


Siguiente lección: Entrada y salida.

Autor: Bartolomé Sintes Marco
Última modificación de esta página: 21 de octubre de 2002