[MÚSICA] Hola. En esta lección, aprenderemos sobre módulos que you están definidos en Python. Veremos qué son, cómo se utilizan, cómo se importan, y cómo se ejecutan las funciones que están contenidas en ellos. Hay mucho trabajo de programación que you ha sido realizado por otras personas. Por ejemplo, cómo generar un número de forma aleatoria en Python, o cómo calcular el coseno hiperbólico de algún ángulo en Python, son preguntas que más de alguno se ha realizado, y you se ha escrito código que calcula estos resultados. Por lo tanto, vamos a encontrar muchas librerías que you traen estas funciones programadas que resuelvan esos problemas, de modo que nuestro trabajo va a consistir simplemente en saber cómo llamar esas funciones y cómo utilizarlas basándonos en los parámetros correctos. Algunos ejemplos de ellos son los módulos random y módulo math. Son algunos ejemplos de librerías o módulos que you existen, que están definidos en Python, y que permiten realizar acciones u operaciones cotidianas, como por ejemplo elegir el elemento de una lista, o calcular funciones trigonométricas. Para poder importar un módulo en Python existen varios métodos. El primero, y el más general, consiste en la sentencia que dice import, seguida del nombre del módulo deseado. Por ejemplo, para importar el módulo math basta con escribir el texto import math, quedando, de esa manera, accesibles todos los elementos del módulo dentro de nuestro programa. El segundo método, que es un poco más específico, consiste en importar únicamente los elementos que vamos a ocupar dentro de nuestro programa. Este se realiza por medio de la sentencia from, seguida del nombre del módulo, y luego la palabra clave, import, seguida de los elementos necesarios. Por ejemplo, si queremos importar solamente dos funciones del módulo math, entonces, podemos escribir dos líneas, la línea from math import pow, y from math import sqrt. De esta manera, podemos importar cuantas funciones o constantes vamos a requerir durante la ejecución de nuestro programa. Una variación del método anterior, consiste en darle nombres especiales a los elementos importados para evitar que coincida con algún nombre que nosotros you hemos usado en nuestro programa. De esta manera, a la sintaxis del método anterior se le agrega la palabra as, seguida de un alias, o algún otro nombre que nosotros queramos escoger. Por ejemplo, si escribimos from math import e as Euler, de modo que en nuestro programa, la constante e, corresponde al número de Euler, queda disponible bajo el nombre Euler, y no bajo el nombre e. El cuarto método, y que no está utilizado, consiste en importar todos los elementos del módulo con el nombre que estaba definido en la librería. Esto se realiza escribiendo from módulo import, con el asterisco, y, con ese asterisco, estamos indicando que se importa todo. No se recomienda hacer mucho esto porque puede haber dos elementos con el mismo nombre, uno en el módulo, y uno en nuestro programa, y con eso además vamos a estar importando elementos que tal vez no son necesarios en nuestro código, y nuestro código va a ser un poco más complicado de entender. Una vez que hemos importado las funciones, podemos utilizarlas y las podemos llamar. Para el primer método, esto lo logramos escribiendo el módulo punto la función deseada, y luego los paréntesis con los argumentos respectivos, si es que los hay. A modo de ejemplo, para utilizar la función seno, definida dentro del módulo math, primero se importa el módulo import math, y luego se señala math punto sin, y, entre paréntesis, el valor que le queramos pasar con varios métodos, en este caso, 0. Con el segundo y con el cuarto método, al haber importado las funciones con sus nombres originales y directamente dentro de nuestro código, ellas se ejecutan simplemente escribiendo el nombre de los paréntesis junto a los paréntesis que contienen los argumentos. El ejemplo para este caso consiste en importar desde el módulo random la función uniform, la cual entrega un número decimal aleatorio entre un intervalo definido. Así se escribe from random import uniform, y para el llamado se escribe uniform de 0,1, que son los dos argumentos que va a recibir nuestra función. Por último, con el tercer método, la importación es tal como you la vimos, pero el llamado se debe realizar con el nombre nuevo que le asignamos a la función usando el alias que especificamos, así, en este ejemplo, se importa la función randint con el alias rnd. Para el llamado, se debe entonces escribir rnd (5, 10). [AUDIO EN BLANCO] Hemos importado y usado las funciones del módulo math y del módulo random, pero nos hemos detenido poco o muy poco a saber para qué sirven. Random es un módulo que nos permite generar números pseudoaleatorios por medio de sus funciones. En verdad no son completamente aleatorios por limitaciones de los sistemas de cómputo, pero son un muy buen acercamiento a una generación de números realmente aleatorios. Sirven, por ejemplo, para simular lanzamiento de dados o para realizar sorteos. Por otro lado, el módulo math posee funciones que permiten realizar cálculos, y que implementan funciones matemáticas muy comunes, pero que también son bastante complejas de realizar a mano. Permite acceder a constantes conocidas como son la constante pi, la constante Euler, la constante fi, entre otras que se usan mucho en el mundo científico. Un ejemplo más integrador del aprendido de módulos se ve a continuación en el siguiente ejemplo. La idea del programa que estamos viendo es similar al lanzamiento de un dado por medio de la generación de un número aleatorio entre 1 y 6. Luego, dependiendo del valor que hayamos obtenido, se imprime una constante u otra, multiplicada por el lanzamiento. Específicamente, el programa importa de la librería random la función que se llama randint y le otorga el alias rnd. Del módulo math, importa las constantes pi y e, y se utiliza la función rnd para generar el número aleatorio, y, si este es menor que 4, se obtiene pi multiplicado por el número. En caso contrario, se va a imprimir Euler multiplicado por el lanzamiento. En una ejecución como la que vemos aquí, se obtuvo 6.28, que corresponde a 2pi, lo que quiere decir que el lanzamiento fue 2, que es menor que 4, por lo que se imprimió pi multiplicado por 2. Para cerrar la lección, es importante recordar que existen múltiples módulos you incorporados en Python, y también existen otros que podemos instalar. Podemos importarlo de diversas maneras, con las consideraciones de cada método, tanto en la sintaxis, para importarla, como para llamar a las funciones. Te agradecemos por seguirnos, y te esperamos en una nueva clase. [MÚSICA]