Ir al contenido principal

Un poco mas de Librerias en Python


Hola bienvenidos de nuevo a mi blog, el dia de hoy extenderemos un poco mas los conocimientos de Python. En este caso hablaremos un poco mas acerca de las librerias o modulos en Python. Y detallaremos un poco mas el uso de PIP y la importacion de los modulos.

Modulos
Aunque ya lo tratamos en otra entrada la cual te invito a visitar: ¿Python? aun asi lo redefiniremos de nuevo para dar entrada al tema, darle continuidad y hacer memoria.

Modulos: en Python un modulo es un fichero que contiene codigo del lenguaje almacenados con la extension .py en donde se almacenan la declaracion de variables, funciones, obejtos y demas.

Basicamente un modulo es una libreria como en cualquier otro lenguaje, estas como ya mencionado contienen variables y/o funciones ya escritas que nos ayudan a programar, simplificando las lineas de codigo que utilizamos para programar. Aqui en Python se dice que todo codigo guardado en un archivo con extensión .py es un modulo dado que todas las instrucciones escritas en el pueden ser usadas en otro archivo o programa mientras lo importemos. Existe una gran variedad de modulos que nos permiten una infinidad de cosas como: creación de graficos, generar figuras 2D y 3D, trabajar con Bases de Datos, generar animaciones, trabajar con formulas complejas, crear entornos de diseño, crear videojuegos y demas, sin embargo para poder usarlos es necesario instalarlos.

Existen basicamente tres tipos de modulos:

Los propios: es decir los que nosotros creamos por nuestra cuenta y reciclamos para nuestro uso personal.
Los estandar: Aquellos que ya vienen instalados por default junto con el interprete y la documentacion de Python cuando lo instalas (modulos como la libreria math, string, random, os, sys, pdb, json, entre otros.)
Los de terceros: Son modulos que fueron escritos por otras personas y que puedes encontrar en la web o descargandolos desde el instalador de modulos de Python (PIP).

Metodos de Instalación e Importación de Modulos

Importación:

Bien antes de continuar debemos saber que para poder hacer uso de un modulo dentro de nuestro archivo de trabajo actual es necesario importarlo para poder hacer uso de sus funciones y variables. Existen varias formas de importar los modulos, veamos unas cuantas.


Metodo 1: importación tipica
La importación tipica consiste en la siguiente sintaxis:

import nombre_del_modulo

De esta manera le decimos al interprete que busque el modulo deseado para poder hacer uso de sus funciones y variables.

Para hacer uso de sus funciones o variables al usar este tipo de importación debemos invocar el nombre del modulo, seguido de un punto, seguido del nombre de la función o variable a usar, es decir la siguiente sintaxis:

nombre_del_modulo.nombre_de_la_función

Veamos un ejemplo, digamos que queremos obtener la raiz cuadrada de 144 y mostrarla en pantalla, es decir necesitamos hacer uso del modulo o libreria math y de su funcion sqrt(). Entonces tendriamos que escribir algo como esto.

import math
raiz=math.sqrt(144)     
print(raiz)



Metodo 2: importación por función


Otra manera de hacer esto es importando solamente la función en especifico del modulo a utilizar y esto se consigue empleando la siguiente sintaxis.

from nombre_del_modulo import nombre_de_la_funcion 

Para usar la funcion o variable solo seria necesario escribir su nombre y nada mas, sin el acompañamiento anterior.
Veamos un ejemplo, digamos que quiero usar la variable pi declarada dentro de este modulo solo para hacer calculos exactos, pero solo quiero importar eso y nada mas corroborando su valor mostrandolo en pantalla. Siendo el caso tendriamos que usar las siguientes instrucciones.

from math import pi
print(pi)


O vamos el ejemplo anterior:

from math import sqrt
print(sqrt(144))


Sin embargo es imperativo mencionar que aunque tal vez resulte comodo hacer esto python puede confundirse con los nombres de las variables del modulo con las que ya tienes declaradas, asi que usado en a tu discreción.

Metodo 3: importación por sobrenombre

Para evitar el problema de la importación anterior hacemos uso de la importación por sobrenombre, en donde a una variable o función la invocamos bajo otro nombre. Es decir la importamos pero la mandamos llamar bajo un sobrenombre o apodo. Su sintaxis es:

from nombre_del_modulo import nombre_de_la_funcion as sobrenombre

Para hacer uso de esta función renombrada solo sera necesario escribir su apodo. Veamos un ejemplo, tomemos el ejercico anterior, importemos pi de la clase math pero renombremosla valor_pi e imprimamoslo por pantalla. El codigo iria asi.

from math import pi as valor_pi
print(valor_pi)




En fin, prosigamos con otro punto importante, su instalación y su uso. Tocaremos el uso de modulos propios y los de terceros basicamente.

Modulos propios:
Cuando hablamos de modulos propios hablamos como ya mencionado de usar nuestros propios codigos o archivos dentro de nuestros proyectos. Existen dos formas basicas que yo conozco para el uso de ellos.

Metodo 1:

El metodo mas facil es copiar nuestros modulos y pegar los archivos en la misma carpeta que el archivo con el que estaremos trabajando, de este modo python al hacer la importación del modulo, al no encontrar la libreria dentro de las ya preinstaladas buscara en la carpeta del proyecto actual. Despues de eso solo es utilizar nuestro modulo importandolo como normalmente lo hacemos.

Ejemplo: yo tengo 2 archivos de python, el archivo principal y el archivo formulas, estos en la misma carpeta, de manera que yo importare los metodos del modulo formulas al de principal y usare una de sus funciones, se no se entiendo asi que mostremos las imagenes.

Archivo formulas:


Archivo Principal:


Ejecución:

Si llevaste a cabo este pequeño ejercicio y si utilizaste un editor como pycharm, al escribir formulas en el archivo principal, el editor autocompleto la palabra y aparecia formulas en las opciones, esto quiere decir que el modulo fue instalado correctamente. Si lo hiciste con cualquier otro editor te diste cuenta que no genero errore (si escribiste correctamente el codigo), esto quiere decir que igual esta bien instalado tu modulo. Recordemos que en este metodo los modulos deben estar en la misma carpeta que el archivo donde los importaremos.

Metodo 2:

Este segundo metodo lo recomiendo si es que has generado tu propio modulo y lo ocupas regularmente en varios proyectos, asi que para evitar tener varias copias un mismo archivo por cada proyecto propio te recomiendo esto, si ya sabes como esta estructurada la carpeta de instalación de python solo es cuestion de copiar y pegar tu modulo en la carpeta Libs. Si eres novato te explicare.


1. Accedemos a nuestro disco duro


2. Nos dirigimos a la carpeta donde esta instalado nuestro python, en mi caso Python27


3. Abrimos la carpeta Libs


3. Y ya en esta carpeta pegamos nuestro modulo.


Este metodo resulta util si tenemos que recurrir a un modulo recurrentemente y como menciono no deseamos tener tantas copias del mismo.
Si quieres comprobarlo te invito a hacer la practica anterior usando este metodo, donde solo tendriamos que pegar el modulo formulas en esta carpeta y despues hacer lo que regularmente sabemos hacer.

*Nota este metodo tambien funciona para instalar modulos de terceros que descargamos manualmente por internet.

Modulos de terceros:

Bien los modulos de terceros como ya mencionamos son modulos o librerias que contienen codigo que otra gente a escrito, el metodo mas común para instalarlos es usando el asistente de instalación de modulos de Python el cual es llamado PIP.


Este paquete de instalación por lo regular viene instalado por default en Python apartir de la version 2.7 en adelante. Para comprobar si lo tienes instalado solo es necesario ir a la carpeta de instalacion de python y entrar a la carpeta de Scripts, es alli donde se instala por default.



Si no lo tienes instalado, te dejo el link de descarga: https://bootstrap.pypa.io/get-pip.py

Pasos para instalar:

1. Entrado al link que te deje damos click derecho guardar como, seleccionamos la carpeta donde se guardara (de preferencia la carpeta donde tenemos instalado el python) y damos en descargar o guardar segun sea su navegador. Recuerda guardarlo con el nombre de get-pip.py



2. Ahora deberemos abrir nuestra consola de comandos y dependiendo de si tienes las variables de entorno declaradas o no deberas hacer lo siguiente segun sea el caso deberas ejecutar el siguiente comando.

python get-pip.py  <-si de="" declarada="" entorno="" es="" font="" la="" que="" tienes="" variable="">

Si utilizas Windows y no tienes la variable declarada deberás ejecutar:

C:\PythonXY\python.exe get-pip.py

Donde X e Y corresponden al número de versión de Python. También puedes utilizar la ruta completa del archivo:

Windows: C:\PythonXY\python.exe "Mis documentos\Descargas\get-pip.py"
Linux: python Descargas/get-pip.py

Por ejemplo yo use la convinacion usando la variable declarada y escribiendo la ruta donde guarde mi archivo get-pip.py



Instalación de Modulos:

Ahora para poder instalar modulos como ya visto en otra entrada solo debemos (dependiendo de si tienes las variables de entorno declaradas) ejecutar un comando en espacial.

Si no tienes las variables de entorno declaradas deberas abrir tu consula de comandos y posicionarte en la carpeta de instalación de tu version de python y abrir la carpeta Scripts.

Ya habiendo hecho lo anterior escribimos:

pip install Nombre_Modulo

Por ejemplo instalemos el modulo matplotlib que nos permite hacer varios tipos de graficos de acuerdo a ciertos tipos de contenidos, entonces escribimos.

pip install matplotlib


Con ello se empezara a descargar el modulo, es importante mencionar que requerimos conexión a internet.

Otro ejemplo (instalación de Seaborn):



Si quieremos desinstalar un modulo solo seria necesario utilizar la misma sintaxis pero escribiendo uninstall en vez de install. Ejemplo:



Algunos Modulos Interesantes:

Bien, supongo que ya hasta el punto actual te has dado cuenta de que existen muchos tipos de modulos, varias formas de importarlos y usar sus clases, en fin, ahora veamos unos modulos que son algo interesantes:

Turtle:





Este modulo basicamente nos permite crear figuras, dibujos y graficos con coordenadas en pantalla usando como puntero una flecha que llamamos tortuga, la cual de acuerdo a las instrucciones dadas esta caminara sobre la ventana dejando un rastro de su trayectoria.

Veamos un pequeño ejemplo (recuerda descargar la libreria antes).

Escribamos este codigo en nuestro editor favorito:

Este codigo nos generara la siguiente ventana con la figura de un rectangulo, el cual se dibujo por trazos.


Veamos otro ejemplo usando este codigo:


Obtendriamos la siguiente figura:
Funciones basicas de Turtle:

  • forward(distance): Avanzar una determinada cantidad de píxeles.
  • backward(distance): Retroceder una determinada cantidad de píxeles.
  • left(angle): Girar hacia la izquierda un determinado ángulo.
  • right(angle): Girar hacia la derecha un determinado ángulo.
  • home(distance): Desplazarse al origen de coordenadas.
  • goto((x, y)): Desplazarse a una coordenada en concreto.
  • pendown(): Subir el lápiz para no mostrar el rastro.
  • penup(): Bajar el lápiz para mostrar el rastro.
  • shape('turtle'): Cambia al objeto tortuga.
  • pencolor(color): Cambiar al color especificado.
  • pensize(dimension): Tamaño de la punta del lápiz.
  • fillcolor(color): Establece el color de relleno de una figura
  • begin_fill(): Establece que apartir de esa linea de codigo debe pintar del color especificado la figura formada.
  • end_fill():Establece que apartir de esa linea de codigo debe dejar de pintar del color especificado la figura formada.
  • exitonclick(): Establece que la ventana no se debera cerrar hasta que se de un click.
  • clear(): Limpia el area de trabajo, borra los trazos realizados. 

Si quieres conocer mas acerca de las funciones de Turtle te dejo esta web muy completa sobre el tema, esta en ingles pero aun asi es muy buena.


       

">

       


Tkinder:





Con Python hay muchas posibilidades para programar una interfaz gráfica de usuario (GUI) pero Tkinter es fácil de usar, es multiplataforma y, además, viene incluido con Python en su versión para Windows, para Mac y para la mayoría de las distribuciones GNU/Linux. Se le considera el estándar de facto en la programación GUI con Python.

Veamos un ejemplo escribamos este codigo:


Este nos generara esta ventana

Veamos otro ejemplo, escribamos este codigo en tu editor:


Resultado:



Funciones basicas de Tkinter:


  • Label(): Usada para agregar etiquetas.
  • Button(): Usado para agregar botones.
  • grid(): Usado para establecer el posicionamiento de los elementos en ventana.
  • Entry(): Utilizado para definir cajas de texto
  • Pack(): Coloca los elementos en la ventana de acuerdo al modo estandar.
  • geometry(): Usado para definir el tamaño de ventana.
  • configure(): como su nombre lo dice es usado para configurar elementos o comportamientos de la ventana.
  • mainloop(): crea un ciclo infinito que provoca que el contenido de la ventana se actualice graficamente hablando.

Si quieres saber mas de sus funciones y documentación te dejo con la pagina oficial de Pyhton.


       

">

       




Como hemos podido ver existen varias librerias con una infinidad de funciones que nos permiten realizar un mundo de cosas, solo es cuestion de investigar y doparnos del conocimiento necesario para su manejo. Te invito a adentrarte mas en este mundo de la programación.

Fuentes:
https://recursospython.com/guias-y-manuales/instalacion-y-utilizacion-de-pip-en-windows-linux-y-os-x/
http://www.mclibre.org/consultar/python/lecciones/python-turtle-1.html
https://docs.python.org/2/library/turtle.html
https://www.programoergosum.com/cursos-online/raspberry-pi/245-turtle-graphics-en-python-con-raspberry-pi/funciones-principales
https://opentechschool.github.io/python-beginners/es_CL/simple_drawing.htmlhttps://projects.codeclubworld.org/es-ES/04_python/01/01.html
http://edupython.blogspot.com/2012/12/como-programar-tu-tortuga.html
https://www.pythoniza.me/programando-una-tortuga-en-python/
https://docs.python.org/2/library/tkinter.html
https://www.iaa.csic.es/python/Iniciacion_Python_Modulos.pdf
https://www.youtube.com/watch?v=iPXiZALnZFg
https://python-para-impacientes.blogspot.com/2015/12/tkinter-interfaces-graficas-en-python-i.html
http://pharalax.com/blog/python-desarrollo-de-interfaces-graficas-con-tkinter-labelsbuttonsentrys/

*Nota esta investigacion puede encontrarse en otro blog, el cual es mio solo que ese es usado para cosas relevantes a la escuela (recuerden este blog y BookSound son para mis hobbies), solo que me gusto la investigacion hecha que decidi postearla aqui tambien. Sea lo que sea me gusta tener las cosas separadas por que aqui tengo libertad de modificar a mi antojo y en el otro es mas contenido tecnico regido por mis profesores.






Comentarios

  1. Muy claro el articulo. Ahora solo me falta averiguar como gestiono mis librerias con github

    ResponderEliminar
  2. Hola, y ¿como puedo saber como está hecha una librería?, ¿que lenguaje se utilizó para hacerla o si algunas funciones están hechas en python u otras en C (por ejemplo)?

    ResponderEliminar
  3. Hola, y ¿como puedo saber como está hecha una librería?, ¿que lenguaje se utilizó para hacerla o si algunas funciones están hechas en python u otras en C (por ejemplo)?

    ResponderEliminar

Publicar un comentario