1.2 Variables

Tabla de Contenido

1.2 Variables

1.2 Variables

¿Qué son las variables en Python?

En el contexto de la programación con Python, una variable puede entenderse como un nombre simbólico (etiqueta) que se asocia a un objeto. Es importante comprender que, en Python, una variable no es un contenedor que "guarda" un valor como tal, sino una referencia o etiqueta que apunta a un objeto en la memoria.

Estos objetos pueden ser de distinto tipo, como números int o float

Para los principiantes, es útil pensar en cómo funcionan las etiquetas en la vida cotidiana. Piense en la etiqueta de un producto en un supermercado: la etiqueta no contiene el producto en sí, sino que proporciona información sobre él y le ayuda a localizarlo en la estantería.

Asignación

El acto de vincular un nombre con un objeto se denomina asignación. En Python, esto se logra utilizando el signo igual (=). El nombre de la variable se coloca a la izquierda del =, y el objeto al que se vincula se coloca a la derecha.

Es fundamental entender que una reasignación no modifica el objeto en sí, sino que cambia la referencia de la variable.1

Nombres de Variables

Elegir nombres de variables significativos y descriptivos es esencial para la legibilidad del código. Se recomienda utilizar nombres en minúsculas, separando las palabras con guiones bajos (snake_case).

image-20241005213304982

Usando variables

Una vez que una variable tiene un valor asignado, puedes usarla en tu código como si fuera ese valor:

Ejercicio 3 – Asignando Valores a Variables

El objetivo de este ejercicio es asignar valores a variables. Puedes realizar este ejercicio en un Jupyter Notebook:

  1. Establece x igual al número 2, luego agrega 1 a la variable x:

    x = 2

    x + 1

    La salida es la siguiente:

    3

Una vez que sumamos 1 a x, obtenemos la salida de 3, porque a la variable x se le ha sumado 1.

  1. Verifica el valor de x ingresando x en una celda de código y ejecutando el código:

    x

    La salida es la siguiente:

    2

    Ten en cuenta que el valor de x no ha cambiado.

  2. Cambia x a 3.0, establece x igual a x + 1 y verifica el valor de x:

    x = 3.0 x = x + 1 x

    La salida es la siguiente:

    4.0

En este paso, cambiamos el valor de x estableciendo x igual a x + 1. Esto está permitido en Python debido al orden de derecha a izquierda en la asignación de variables. En el lado derecho, x + 1 tiene un valor de 4.0; este valor se puede asignar a cualquier variable, incluyendo x.

Al final de este ejercicio, habrás notado que, en programación, puedes asignar una variable en términos de su valor anterior. Esta es una herramienta poderosa, y muchos desarrolladores la usan con bastante frecuencia. Además, el tipo de x cambió. x comenzó como un int, pero luego se convirtió en un float. Esto está permitido en Python porque Python es de tipado dinámico.

Nota Pythonica

Incrementar una variable en 1 es una operación tan común en la programación que Python ofrece un atajo para realizarla. En lugar de escribir x = x + 1, puedes escribir x += 1. Esta abreviatura, considerada más "Pythonica", te resultará útil más adelante.

Resumen

En esencia, las variables en Python actúan como referencias a objetos. No "almacenan" valores directamente, sino que proporcionan una forma de acceder y manipular objetos en la memoria. La correcta elección de nombres, el entendimiento de los tipos de objetos y la mecánica de la asignación son fundamentales para trabajar con variables de manera efectiva.

Conversión de Tipos - Casting

En algunos lenguajes de programación, una variable se define con un tipo de dato específico y este tipo no puede cambiar. Esto significa que, si la variable y es un entero, siempre debe ser un entero. Sin embargo, Python utiliza un sistema de tipado dinámico, como se vio en el Ejercicio 3 - Asignando Valores a Variables, y como se ilustra en el siguiente ejemplo:

  1. y comienza como un entero:

    y = 10

    En este paso, a la variable y se le asigna el valor entero 10.

  2. y se convierte en un flotante:

    y = y - 10.0

    Aquí, se reasigna a y el resultado de restar el flotante 10.0 de su valor actual (que también es 10). Dado que Python convierte los tipos de datos para preservar la información al realizar operaciones, el resultado de esta resta es un flotante (0.0). Por lo tanto, el tipo de y cambia de entero a flotante.

  3. Verificar el tipo de y:

    type(y)

    Esta línea de código utiliza la función type() para verificar el tipo de dato de la variable y.

    La salida es:

    float

Este ejemplo demuestra cómo el tipo de una variable en Python puede cambiar dinámicamente según las operaciones que se realicen con ella.

Conclusión:

El tipado dinámico de Python ofrece flexibilidad, ya que no es necesario declarar explícitamente el tipo de dato de una variable de antemano, y el tipo puede cambiar durante la ejecución del programa. Sin embargo, es fundamental ser consciente de los posibles cambios de tipo, especialmente al realizar operaciones que involucran diferentes tipos de datos.

Conversión de Tipos - Casting

En algunos lenguajes de programación, una variable se define con un tipo de dato específico y este tipo no puede cambiar. Esto significa que, si la variable y es un entero, siempre debe ser un entero. Sin embargo, Python utiliza un sistema de tipado dinámico, como se vio en el Ejercicio 3 - Asignando Valores a Variables, y como se ilustra en el siguiente ejemplo:

  1. *y* comienza como un entero:

    x = 10

  2. y se convierte en un flotante:

    y = y – 10.0

    Aquí, se reasigna a y el resultado de restar el flotante 10.0 de su valor actual (que también es 10). Dado que Python convierte los tipos de datos para preservar la información al realizar operaciones, el resultado de esta resta es un flotante (0.0). Por lo tanto, el tipo de y cambia de entero a flotante.

  3. Verificar el tipo de y:

    type(y)

    Esta línea de código utiliza la función type() para verificar el tipo de dato de la variable y.

    La salida es: float

Este ejemplo demuestra cómo el tipo de una variable en Python puede cambiar dinámicamente según las operaciones que se realicen con ella.

Conclusión: El tipado dinámico de Python ofrece flexibilidad, ya que no es necesario declarar explícitamente el tipo de dato de una variable de antemano, y el tipo puede cambiar durante la ejecución del programa. Sin embargo, es fundamental ser consciente de los posibles cambios de tipo, especialmente al realizar operaciones que involucran diferentes tipos de datos.

Actividad 1: Asignación de valores a variables.

En esta actividad, asignarás un número a la variable x, incrementarás ese número y realizarás operaciones adicionales. Al completar esta actividad, aprenderás a realizar múltiples operaciones matemáticas con Python. Esta actividad se puede realizar en tu Jupyter Notebook. Los pasos son los siguientes:

  1. Primero, establece 14 en la variable x.

  2. Ahora, suma 1 a x.

  3. Por último, divide x entre 5 y eleva el resultado al cuadrado.

    El resultado es el siguiente: 9.0

Solución

  1. Empezamos por el primer paso, en el que se ha asignado a x el valor 14: x = 14

En Python, la asignación de variables se realiza usando el signo igual (=).

Esto crea una variable llamada x y la vincula al valor (objeto) 14.

  1. Ahora utilizamos el operador += para igualar x a x + 1 en el mismo paso: x += 1

Esto toma el valor actual de x, le suma 1, y luego asigna el nuevo valor a la misma variable x.

  1. En este paso, x se divide por 5 y el resultado se eleva al cuadrado: (x/5) ** 2 Obtendrás la siguiente salida: 9.0 Con esta actividad has aprendido a realizar múltiples operaciones matemáticas con una variable.

Esto es muy común en Python.

 

Explicación: Esta actividad ilustra la manipulación de variables y la realización de operaciones matemáticas básicas en Python. Te familiariza con la sintaxis de asignación de variables, la forma de actualizar el valor de una variable y cómo Python maneja el orden de las operaciones. Es importante entender estos conceptos básicos para poder escribir programas más complejos en el futuro.

Nombres de Variables

Para evitar confusión al escribir código en Python, se recomienda usar nombres de variables que sean comprensibles y tengan sentido para cualquiera que lea el código. Por ejemplo, usar el nombre de variable ingreso o edad para referirse a un valor que representa un ingreso o edad de una persona es una buena práctica. Es mejor evitar usar nombres de variables más cortos como x porque podrían no ser claros para alguien que lea el código. Trate de usar nombres de variables indicativos del significado.

Restricciones en los Nombres de Variables

Python tiene algunas restricciones con respecto a la asignación de nombres a las variables:

  • Los nombres de variables solo pueden incluir caracteres alfanuméricos (letras y números) y guiones bajos (_).

  • Solo pueden comenzar con una letra o un guion bajo, no con un número. Por ejemplo, el nombre de variable 1er_numero arrojará un error porque comienza con un número.

De acuerdo con las convenciones de Python, es mejor usar letras minúsculas al definir variables.

Palabras Clave de Python

Las palabras clave de Python son palabras reservadas que tienen significados especiales dentro del lenguaje Python. No se pueden usar como nombres de variables. Algunos ejemplos de palabras clave de Python son if, else y for. Aprenderá sobre estas palabras clave a medida que continúe aprendiendo Python.

Puede ver una lista completa de palabras clave de Python usando el siguiente código:

Este código generará la siguiente lista:

Intentar usar cualquiera de estas palabras clave como nombre de variable causará un error de sintaxis.

Ejercicio 4 – Nombrando Variables

El objetivo de este ejercicio es aprender las formas estándar de nombrar variables, considerando las buenas y malas prácticas. Este ejercicio se puede realizar en un Jupyter Notebook:

  1. Crea una variable llamada 1st_number y asígnale el valor 1:

    Al ejecutar este código, obtendrás un error. Esto se debe a que no puedes comenzar el nombre de una variable con un número.

    image-20241014165011733

  2. Ahora, intentemos usar letras para comenzar una variable:

    En este caso, el código funcionará correctamente.

  3. Ahora, usemos caracteres especiales en el nombre de una variable:

    Al ejecutar este código, obtendrás un error. Esto se debe a que no puedes incluir caracteres especiales (aparte del guión bajo "_") en el nombre de una variable.

    image-20241014165952523

  4. Ahora, usemos letras otra vez en lugar de caracteres especiales para el nombre de la variable:

    En este caso, el código funcionará correctamente.

En este ejercicio, aprendiste a usar guiones bajos para separar palabras al nombrar variables, y a no comenzar los nombres de las variables con números ni incluir ningún símbolo (excepto el guión bajo). En Python, te acostumbrarás rápidamente a estas convenciones.

Variables Múltiples

La mayoría de los programas contienen múltiples variables. Las mismas reglas que se aplican al trabajar con variables individuales se aplican aquí. Practicarás el trabajo con múltiples variables en el siguiente ejercicio.

Ejercicio 5 – Asignación de Múltiples Variables

En este ejercicio, realizarás operaciones matemáticas utilizando más de una variable. Este ejercicio se puede realizar en tu Jupyter Notebook:

  1. Asignar 5 a x y 2 a y:

  2. Sumar x a x y restar y elevado a la segunda potencia:

    Esto te dará el siguiente resultado:

    Python tiene muchos atajos geniales, y la asignación de múltiples variables es uno de ellos. Veamos la forma pitónica de declarar dos variables.

    Nota: Pitónico es un término usado para describir el código escrito en el formato legible óptimo. Más adelante trataremos más sobre este tema.

  3. Asignar 8 a x y 5 a y en una sola línea:

  4. Encontrar la división entera de x e y:

    Esto te dará el siguiente resultado:

En este ejercicio, practicaste el trabajo con múltiples variables, e incluso aprendiste la forma pitónica de asignar valores a múltiples variables en una sola línea. Es raro trabajar solo con una variable en la práctica.

Comentarios

Los comentarios son bloques de código adicionales que no se ejecutan. Su propósito es aclarar el código para los lectores. En Python, cualquier texto que siga al símbolo # en una sola línea se considera un comentario. Los comentarios que siguen al símbolo # pueden estar en línea o encima de la instrucción.

Nota: El uso consistente de comentarios hará que la revisión y la depuración del código sean mucho más fáciles. Es muy recomendable practicar esto de ahora en adelante.

Here's a translation of the note:

Nota: El uso constante de comentarios facilitará mucho la revisión y depuración del código. Se recomienda encarecidamente practicarlo de ahora en adelante.

Ejemplos de comentarios en Python

 

Ejercicio 6 – Comentarios en Python

En este ejercicio, aprenderás dos formas diferentes de mostrar comentarios en Python. Este ejercicio se puede realizar en un Jupyter Notebook:

  1. Escribe un comentario que diga Este es un comentario:

    Cuando ejecutes esta celda, no debería suceder nada.

    Los comentarios son ignorados por el intérprete de Python.

  2. Establece la variable pi igual a 3.14. Agrega un comentario encima de la línea que indique lo que hiciste:

    Agregar este comentario aclara lo que sigue.

  3. Ahora, intenta establecer la variable pi igual a 3.14 de nuevo, pero agrega el comentario que indica lo que hiciste en la misma línea:

    Aunque es menos común proporcionar comentarios en la misma línea de código, es aceptable y a menudo apropiado.

La salida de Jupyter Notebook se muestra aquí:

image-20241014220045345

Figura 1.6 – Salida del Jupyter Notebook usando comentarios

 

En este ejercicio, aprendiste a escribir comentarios en Python. Como desarrollador, escribir comentarios es esencial para que tu código sea legible para otros.

Docstrings

Las docstrings, abreviatura de "cadenas de documentación", indican lo que hace un documento determinado, como un programa, una función o una clase. La principal diferencia sintáctica entre una docstring y un comentario es que las docstrings están pensadas para escribirse en varias líneas, lo que puede lograrse con comillas triples, """. También introducen un documento determinado, por lo que se colocan en la parte superior.

Aquí tienes un ejemplo de una docstring:

Las docstrings, al igual que los comentarios, están diseñadas como información para los desarrolladores que leen y escriben código. A diferencia de los comentarios, se puede acceder a las docstrings más tarde usando __doc__.

 

Actividad 2 – Encontrar el área de un triángulo

En esta actividad, determinarás el área de un triángulo usando variables, comentarios, conversión de tipos y docstrings.

Necesitas asignar números a las variables de base y altura, luego multiplicar la base y la altura por ½ para encontrar el área. También incluirás un docstring y comentarios para aclarar el código.

Los pasos son los siguientes:

  1. Escribe una docstring que describa lo que hará el código.

  2. Asigna 2 y 4 a las variables base y altura, respectivamente.

  3. Determina el área de un triángulo usando la base y la altura.

  4. Convierte el área del triángulo a un número entero.

  5. Muestra el resultado final.

  6. Incluye comentarios para aclarar cada línea de código.

El siguiente es el resultado esperado: 4


Actividad 2: Encontrar el área de un triángulo

Solución:

  1. Abre tu Jupyter Notebook.

  2. En este paso, debes escribir un docstring que describa el código de la siguiente manera:

  3. Ahora, en el siguiente fragmento de código, asiognas 2 y 4 a base y altura:

  4. En el siguiente paso, determinas el área de un triángulo multiplicando 1/2 por la base y la altura de la siguiente manera:

  5. Ahora, conviertes el área a un entero de la siguiente manera:

  6. Para imprimir el área del triángulo, coloca la variable area_triangulo dentro de la función print() de la siguiente manera:

 

 

image-20241015215742969

En esta actividad, has escrito un mini-programa que determina el área de un triángulo dada la base y la altura. Es importante que hayas añadido un docstring y comentarios para aclarar el código. No hay una respuesta correcta para los comentarios; depende del escritor determinar cuánta información dar. Un objetivo general es ser breve pero informativo. La comprensión es lo más importante. Añadir comentarios y docstrings siempre hará que tu código parezca más profesional y fácil de leer.


Hasta ahora, en este capítulo, has utilizado Python como una calculadora básica, junto con el orden de operaciones. Has examinado la diferencia entre los valores enteros (int) y flotantes (float) y has aprendido a convertir entre ellos, un proceso conocido como conversion (casting) de tipos. Ahora, puedes implementar la asignación de variables y reasignar variables para que los programas funcionen de manera más fluida. También has utilizado comentarios para hacer el código más legible y has aprendido a identificar errores de sintaxis. Además, aprendiste algunos atajos interesantes de Python, incluyendo la asignación de múltiples variables en una sola línea. Como bono, exploraste los tipos de números complejos en Python.

A continuación, explorarás otro tipo principal de Python: string.