¿Variables?¿Que son las variables y a mi para que me hace falta eso?En la programación al igual que en la vida real, hay ocasiones en las que tienes que guardar información para consumirla mas tarde. El lugar donde guardas esa información para consumirla mas tarde son las variables. En esta Pyldora, abordaremos precisamente esto, las variables y los tipos de datos en Python.
Variables y tipos de datos en Python
Vamos con el típico Hola mundo!
, que has visto en decenas de ejemplos a lo largo y ancho de Internet. Esto lo puedes ver de la siguiente forma,
print("Hola mundo!")
Sin embargo, si lo que quieres hacer es utilizar variables, le puedes dar una segunda vuelta escribiéndolo de la siguiente forma,
msg = "Hola mundo!"
print(msg)
En este caso msg
es nuestra variable que contiene un texto
. Por aclarar, el tipo de dato que contiene nuestra variable es tipo texto. Para asignar el contenido Hola mundo!
a nuestra variable msg
hemos utilizado el símbolo igual =
. Esta es la forma de asignar el contenido a una variable.
Nombres de variables
Para el ejemplo anterior, he utilizado msg
como nombre de variable. Un nombre poco afortunado, porque no es excesivamente intuitivo. Quizá debería haber utilizado mensaje
o similar. Pero ¿puedo poner cualquier nombre a mi variable?. No. Los nombres de las variables tienen que cumplir unas condiciones mínimas,
- Solo pueden tener números, letras y guiones bajos.
- Pueden empezar por letras y guiones bajos,
_
, pero nunca pueden empezar por números. Es decirvariable_1
es correcto, pero1_variable
no lo es.
Algunas recomendaciones y observaciones
- Se distinguen mayúsculas y minúsculas. No es lo mismo,
VAR
quevar
. - Por supuesto, los espacios no están permitidos en los nombres de las variables. A modo de idea, puedes utilizar los guiones bajos para reemplazar a esos espacies.
- Evita utilizar palabras claves y nombres de funciones como variables. Puedes hacerlo, pero te aseguro que no te va llevar a nada bueno. Solo conseguirás despistarte y finalmente llegar a un error.
- Utiliza nombres cortos y descriptivos. Sinceramente no seas roñoso a la hora de poner nombres a las variables. Mas vale definir una variable como
nombre
que comon
. Si, tienes que escribir seis letras en lugar de una, pero cuando vuelvas a leer el código dentro de un tiempo, en el primer caso, te resultará mucho mas sencillo comprender que es lo que hiciste que en el segundo. - Cuidado con las tipografías. ¿De que me hablas? Dependiendo del editor que estés utilizando, es posible que se confundan la
l
con el1
y el0
con elO
. Esto cuando estás escribiendo el código no tiene mucha importancia, pero luego, a la hora de encontrar un error, puede ser un autéontico quebradero de cabeza.
Convencionalismos
A la hora de poner nombres a las variables existe una convención que están definidas en un documento denominado PEP 8, que no son ni mas ni menos que una guía de estilo para escribir código en Python.
En esta guía de estilo te indica entre otros aspectos las convenciones a la hora de poner nombres a tus variables, paquetes, módulos, variables, clases, excepciones, etc. Lo que inicialmente te podría parecer una tontá
, ya te digo que no lo es. Ni mucho menos. Este tipo de convenciones ayudan no solo a la legibilidad del código, sino también al mantenimiento del mismo.
Para poner el nombre a las variables se utiliza el tipo snake_case
, es decir, caracteres en minúsculas y guiones bajos. Así, para definir una variable que contenga el nombre de una persona, podemos utilizar,
nombre_de_persona = "María"
Por otro lado, para el caso de las constantes, se utilizará letras mayúsculas, y en caso necesario los guiones bajos. Así, para definir la velocidad de la luz, lo podemos hacer de la siguiente forma,
VELOCIDAD_DE_LA_LUZ = 300000
Asignación
Como te he indicado anteriormente para definir el contenido de una variable utilizamos las asignaciones con el símbolo =
, como ya hemos visto anteriormente. Además tienes que tener en cuenta que puedes hacer asignaciones múltiples, como en,
var1 = var2 = var3 = 12
En este caso, tanto a var1
, como a var2
, como a var3
les hemos asignado el mismo valor, en este caso 12
.
Además podemos hacer otro tipo de asignación interesante, como el que te muestro en el siguiente ejemplo,
var1, var2 = 1, 2
En este caso hemos asignado a var1
el valor 1
y a var2
el valor 2
Pero, no solo esto, también podemos asignar a una variable otra variable. Eso si, la variable debe estar definida previamente. Por ejemplo,
var1 = 12
var2 = var1
Tipos de datos
En el ejemplo anterior he utilizado un tipo de dato texto, pero como ya te puedes imaginar no es el único tipo de dato con el que puedes trabajar en Python. Existen muchos otros. Los que vamos a abordar en esta Pyldora, son los siguientes,
- Booleano
- Entero
- Flotante
- Complejo
- Cadena
Booleano
Tienes un 50% de posibilidades de adivinar el valor de una variable booleana. Solo admite dos valores,
True
que es verdadero, también se representa como1
False
que es *falso, y que también se representa como0
Ojo, que True
y False
se escriben tal y como lo ves. Recuerda que Python distingue entre mayúsculas y minúsculas.
Enteros
Los números enteros en Python se corresponden con los números enteros en matemáticas. Sobre ellos puedes hacer toda una serie de operaciones, como,
+
sumar-
restar*
multiplicar/
dividir//
división entera%
módulo**
potenciación
Además de la asignación como has visto hasta el momento, también puedes realizar una asignación abreviada, por ejemplo,
a = a + 1
es equivalente a a += 1
Esto mismo lo puedes realizar con el resto de operaciones matemáticas indicadas anteriormente.
Flotantes
Además de los números enteros también tienes los números reales en matemáticas. Estos tienen una parte entera y una parte decimal. En el caso de Python se les denomina float
. Sobre este tipo de datos, puedes aplicar las mismas operaciones que sobre los datos del tipo entero.
¿De que tipo es una variable? Para conocer el tipo de una variable, tienes la función predefinida type
.
Conversiones
Es posible convertir entre enteros, flotantes y booleanos. Así partiendo de un tipo de dato puedes llegar a otro tipo de dato. Algunas de estas conversiones son *implícitas, es decir, que al operar entre dos tipos de datos distintos se consigue un dato de uno u otro tipo. Mientras que otros tipos de conversiones son *explícitas* las tienes que declarar. Para esto, tienes algunas funciones predefinidas, que te ayudarán a realizar estas conversiones,
bool
int
float
Estas tres funciones nos permiten convertir el contenido que les pasemos a booleano, entero y flotante respectivamente.
Complejos
Es probable que no utilices en Python los números complejos, pero que sepas que los tienes ahí y que puedes operarlos de la misma forma que operas otro tipo de datos. Así tienes disponibles las siguientes operaciones.
+
sumar-
restar*
multiplicar/
dividir//
división entera%
módulo**
potenciación
El Vídeo
Para completar esta Pyldora Pythonica, un vídeo en el que puedes ver en vivo, aunque en diferido todo este mundo de las variables en Python.
Me ha parecido estupendo. Teoría bien aplicada. Muchos ejemplos. Sin duda es genial aprender así.
Muchas gracias por tu comentario. Cualquier idea o sugerencia es bienvenida.
Muy bueno
Muchas gracias. Un saludo