fefeclase1 guia estudiante

27
Programación de Microcontroladores AVR en Lenguaje C Nivel 2 Clase1: Introducción al Lenguaje Python Objetivos: Aprender la sintaxis del Lenguaje Python Manejar los tipos de datos y operaciones nativos de Python Aprender a crear funciones propias en Python Manejar las librerías pySerial y matplotlib. Lenguaje de Programación Python Python es un lenguaje de programación interpretado Open-Source, el cual se usa en una gran variedad de aplicaciones desde desarrollo de interfaces web, bases de datos y videojuegos, hasta aplicaciones científicas de adquisición y procesamiento de datos. El objetivo de esta clase será conocer los fundamentos del lenguaje Python y usar la una librería para entablar la comunicación entre la computadora y un microcontrolador AVR a través del puerto Serial y realizar la adquisición de datos del microcontrolador. Algunas de las ventajas de usar el lenguaje Python son: Calidad y Orden: La sintaxis del Lenguaje Python fuerza al programador a escribir su código de manera ordenada y fácil de leer. Esto permite revisar el código de manera sencilla e incluir nuevas secciones sin alterar el funcionamiento del programa. Productividad para el desarrollador: El lenguaje Python es muy sencillo de usar y es muy potente para muchas aplicaciones. Al usar Python, el tiempo de desarrollo de una aplicación se reduce, debido a que desarrollar un programa generalmente usa pocas líneas de código.

Upload: stevend-meza-rodriguez

Post on 21-Dec-2015

227 views

Category:

Documents


0 download

DESCRIPTION

fref

TRANSCRIPT

Page 1: fefeClase1 Guia Estudiante

Programación de Microcontroladores AVR en Lenguaje CNivel 2Clase1: Introducción al Lenguaje Python

Objetivos: Aprender la sintaxis del Lenguaje Python Manejar los tipos de datos y operaciones nativos de Python Aprender a crear funciones propias en Python Manejar las librerías pySerial y matplotlib.

Lenguaje de Programación PythonPython es un lenguaje de programación interpretado Open-Source, el cual se usa en una gran variedad de aplicaciones desde desarrollo de interfaces web, bases de datos y videojuegos, hasta aplicaciones científicas de adquisición y procesamiento de datos.

El objetivo de esta clase será conocer los fundamentos del lenguaje Python y usar la una librería para entablar la comunicación entre la computadora y un microcontrolador AVR a través del puerto Serial y realizar la adquisición de datos del microcontrolador.

Algunas de las ventajas de usar el lenguaje Python son: Calidad y Orden: La sintaxis del Lenguaje Python fuerza al programador a escribir su

código de manera ordenada y fácil de leer. Esto permite revisar el código de manera sencilla e incluir nuevas secciones sin alterar el funcionamiento del programa.

Productividad para el desarrollador: El lenguaje Python es muy sencillo de usar y es muy potente para muchas aplicaciones. Al usar Python, el tiempo de desarrollo de una aplicación se reduce, debido a que desarrollar un programa generalmente usa pocas líneas de código.

Portabilidad de programas: Python es un lenguaje multiplataforma. Las aplicaciones desarrolladas en Python fácilmente se pueden portar a un entorno en Windows, Linux o MAC OS.

Soporte de librerías: Python incluye una amplia gama de librerías estándar que permiten una gran variedad de aplicaciones. También existe una gran comunidad que desarrolla librerías externas que agregan funciones y capacidades a un programa en Python.

Algunas aplicaciones que se pueden hacer con Python son:

Page 2: fefeClase1 Guia Estudiante

Diseño de Interfaz Gráfica de Usuario (GUI): Podemos usar algunas librerías como wxPython, PyQT o Tkinter para diseñar GUIs.

Internet Scripting: Python incluye librerías estándar que le permite escribir Scripts para interpretar archivos XML, HTML, enviar archivos por internet (FTP), descargar o subir archivos a través de URLs, etc.

Prototipos Rápidos: El Lenguaje Python es tan sencillo que permite desarrollar programas de manera rápida. Para optimizar el funcionamiento del programa, una mejor opción sería usar un Lenguaje como C o C++. Debido a que ambos lenguajes poseen una sintaxis similar es posible portar un programa prototipo escrito en Python a un programa final escrito en C.

Programación Científica: Las librerías numPy, Matplotlib y sciPy para Python, agregan funciones potentes y similares a las que usa el software MATLAB. Se pueden usar estas librerías para desarrollar programas en el campo de control, inteligencia artificial, procesamiento digital de señales, etc.

Instalación de Python en la ComputadoraA lo largo de este curso, se usará la versión Python 2.7.Python viene incluido por defecto en las distribuciones de Linux.En el caso de Windows, se debe descargar e instalar el intérprete de Python. Se puede encontrar en el link:https://www.python.org/downloads/

Para encontrar algunas librerías externas de Python para Windows se puede visitar el siguiente link:http://www.lfd.uci.edu/~gohlke/pythonlibs/

Page 3: fefeClase1 Guia Estudiante

Sin embargo instalar cada librería necesaria para el desarrollo del curso tomaría mucho tiempo. Se recomienda usar la distribución Python(x,y) la cual está orientada a cálculos numéricos, análisis de datos y su visualización, todo basado en el lenguaje de programación Python.https://code.google.com/p/pythonxy/Incluye QT para realizar GUIs y el entorno de desarrollo Spyder que permite la creación de scripts, manejo de múltiples intérpretes de Python, visualización de variables, depuración, etc.

IDE SpyderSpyder es un IDE Open Source para Python que permite trabajar con las herramientas científicas de este lenguaje.

El editor incluye color en los diferentes elementos de la sintaxis de Python, analiza y completa el código escrito y muestra errores y advertencias aún antes de ejecutar el programa.Se pueden abrir múltiples consolas intérpretes de Python para verificar el funcionamiento del programa en el editor o para ejecutar secciones de código.

Page 4: fefeClase1 Guia Estudiante

Sintaxis del Lenguaje PythonLa manera más rápida de iniciar a programar en Python es hacerlo desde la consola. En este caso se usará la consola del Spyder IDE. La consola es un elemento interactivo donde se puede escribir líneas de programación que serán ejecutadas después de dar Enter.

Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32

Consola

Editor

Inspector de Objetos

Explorador de variables

Comentarios

Cadenas de texto

Auto-completado

Page 5: fefeClase1 Guia Estudiante

Type "help", "copyright", "credits" or "license" for more information.

Imported NumPy 1.7.1, SciPy 0.12.0, Matplotlib 1.2.1 + guidata 1.6.1, guiqwt 2.3.1Type "scientific" for more details.>>> mensaje = "hola mundo" #Declara una variable del tipo String>>> print mensaje #Imprime el valor de la variablehola mundo>>> print 2+4 #Imprime el resultado de una operación6>>> print 2*4 + 5 #Mas operaciones matemáticas13>>> print 2**8 #Usando potencias256>>> import sys #Agregando una librería de Python>>> print sys.platform #Imprime un atributo de esta libreriawin32>>>En muchos casos se buscará ejecutar una secuencia ininterrumpida de código de Python. Para eso se usará un archivo de script con extensión *.py.

# -*- coding: utf-8 -*-#LOS COMENTARIOS SE ESCRIBEN TRAS UN #import sys #Agregando una librería

print "hola mundo" #Imprime un mensajevariable1 = 27 #Crea una variable numéricavariable2 = 17 #Crea una variable numéricavariable3 = 57 #Crea una variable numéricaprint variable1, variable2, variable3print "2 ala 10",2 ** 10 #Imprime un mensaje y operaciónprint 31 ** (1.0/3) #Imprime raíz cúbicatexto1 = "hola " #Variable tipo Stringtexto2 = "a todos" #Variable tipo Stringprint texto1+texto2 #Muestra concatenación

print sys.platform #Imprime atributo de la librería

Al ejecutar este script, este es el resultado que obtendremos en la consola:

Page 6: fefeClase1 Guia Estudiante

Algunas de estas líneas de código son muy fáciles de entender para personas que ya han aprendido un lenguaje de programación. A continuación se detallará un poco más sobre los tipos de datos y operaciones que se usan en el Lenguaje Python.

Variables, Tipos de datos y Operaciones en PythonTodos los datos e información que manejaremos en un programa escrito en el lenguaje Python deberán de estar almacenados dentro de una variable.

Variables:En cualquier lenguaje de programación, una variable representa un espacio de memoria donde se almacenan datos que se pueden modificar y operar. Estos datos puedes ser del tipo numéricos (números enteros o números con punto decimal) o caracteres, cadenas de caracteres o tipos de datos compuestos.En los lenguajes de programación, como el lenguaje C o C++, la variable debe declararse junto a su tipo de dato, de manera que el compilador sepa cuanta memoria debe reservar para almacenar dicho valor.Ejemplo://Este programa está escrito para el compilador AVR-GCC#include <avr/io.h>

int algun_numero = 542; //Esta variable reserva 2 bytes de memoria RAMdouble otro_numero = 0.46;//Esta variable reserva 4 bytes más de memoria RAMchar cadena[4] = "hola"; //Este arreglo reserva 4 bytes más memoria RAM//Se han usado 10 bytes de memoria RAM para estas 3 variablesY Al compilar dicho programa vemos de resultado:

Task "RunOutputFileVerifyTask"Program Memory Usage : 612 bytes 7.5 % FullData Memory Usage : 10 bytes 1.0 % Full

Done executing task "RunOutputFileVerifyTask".

Page 7: fefeClase1 Guia Estudiante

En el caso del Lenguaje Python, la declaración de variables es mucho más sencilla, debido a que no se debe declarar el tipo de dato. Este es asignado de manera automática dependiendo del valor que se le haya asignado a la variable.Ejemplo:# -*- coding: utf-8 -*-

primera_variable = -542 #Variable de tipo numérico enterosegunda_variable = 45.33 #Variable de tipo numérico decimal

texto1 = 'Esta es una cadena' #Variable de tipo Stringtexto2 = "Esta también es una cadena" #Variable de tipo Stringtexto3 = """Esta es una cadenaaún más larga que la anterior y puede tener esta forma, con saltos de línea,tabulación,etcEsta cadena se puede crear al declarar las 3 comillas doblesy se finaliza también con 3 comillas dobles""" #Descrita por sí misma

Al correr el Script no se visualizará ningún resultado en la consola de Python, pero al usar el Spyder IDE, podemos ver las variables creadas en el script en la pestaña Variable Explorer en el lado derecho del IDE, encima de la consola del intérprete activo.

Aquí podemos analizar algunos de los tipos de datos usados en Python, también comprobamos que la asignación del tipo de datos se hace de manera automática sin necesidad de declararlo.

Tipos de Datos:En Python encontraremos los siguientes tipos de datos nativos.

bool: Este es un tipo de dato booleano, que solo puede tener dos valores: True o False.

Variables definidas por defecto

Page 8: fefeClase1 Guia Estudiante

Este tipo de dato es muy útil en estructuras de control condicionales que se estudiarán más adelante.

a = True #Valor True (verdadero)b = False #Valor True (verdadero)c = 3 > 0 #condición (verdadero)d = 4 == (8/2) #condición (verdadero)e = pi == 3 #condición (falso)f = -1 != 1 #condición (falso)g = (True or False) and False #Operación Lógica (falso)print “a:”, aprint “b:”, bprint “d:”, d

int: Este es un tipo de dato numérico entero, que puede almacenar tanto números positivos como números negativos.

numero1 = 23 #numero entero positivonumero2 = -56 #numero entero negativonumero3 = 33 - 790 #numero resultado de operaciónnumero4 = 44 - 36 + 13 #otra operación matemáticaprint numero1, numero2, numero4

float: Este es un tipo de dato numérico entero que almacena número con punto decimal.

numero5 = 31.23 #numero flotantenumero6 = -53.11 #numero flotantenumero7 = 26 / 7.3 #operación matemática de divisiónnumero8 = 0.11 * 2 #operación matemática de multiplicaciónprint numero5, numero7, numero8

complex: Este es un tipo de dato que almacena un número complejo y permite realizar operaciones que tienen como resultado otros números complejos.

complejo1 = 4.2 + 1.1j #numero complejocomplejo2 = 11 - 11.3j #numero complejocomplejo3 = complejo1 * complejo2 #multiplicación de números complejosprint complejo1print complejo2print “el producto de complejos:”, complejo3

str: Este tipo de dato almacena un carácter o una cadena de texto. Este tipo de dato es especialmente útil en el manejo de archivos, acceso a páginas web, etc.

cadena1 = "hola " #cadena simplecadena2 = "mundo" #otra cadena de texto

Page 9: fefeClase1 Guia Estudiante

cadena3 = cadena1 + cadena2 #concatenación de cadenascadena4 = cadena1 * 3 #repetición de cadenasprint cadena1, cadena2, “resultado:”, cadena3print cadena4

list: Este es un tipo de datos compuesto que puede almacenar múltiples datos separados por comas dentro de dos [] y su manejo es similar al de los arreglos en Lenguaje C. La diferencia es que una lista de Python puede almacenar datos de diferente tipo, lo que no se logra con un arreglo de C.

lista1 = [3, 15, 76, (3+2j), "hola", 4.1/22, "chau"] #Creada la listaprint lista1primer_elemento = lista1[0] #Primer elemento de la listasegundo_elemento = lista1[1] #Segundo elemento de la listaultimo_elemento = lista1[-1] #Ultimo elemento de la listasub = lista1[1:4] #Otra lista con elementos de la originallista1 = lista1 + [66] #Agrega un elemento al final de la listanuevo_elemento = lista1[-1]print “antes:”, ultimo_elementoprint lista1print “ahora:”, nuevo_elementoprint “sublista:”, sub

Ya que sabemos cuáles son algunos de los tipos de datos que podemos manejar en Python, veamos ahora como mostrar e ingresar dichos datos a través del teclado del usuario.

Función print(): Esta función permite imprimir variables, resultados de operaciones y cadenas de texto en la consola de Python. Se pueden imprimir múltiples datos al separar los argumentos con comas.Ejemplo:var_bool = 3 > 0var_int = 23 + 65 - 7*12var_float = 31 ** (0.33333333)var_lista = [1,3,5,67,7,1,3] #crea una lista de númeroscantidad_elementos = len(var_lista)var_cadena = "test! "

print var_bool, "es del tipo:", type(var_bool)print var_int, "y", var_float, "son variables numericas"print "lista:", var_listaprint "tiene:", cantidad_elementos, "elementos"print "la cadena", var_cadena, "se puede repetir asi:"

Page 10: fefeClase1 Guia Estudiante

print var_cadena*3, "y concatenar mas texto asi:"print var_cadena+"la suma para concatenar mas texto"

Tendremos de resultado

Función type(): Esta función revela el tipo de dato de una variable que se encuentre en el argumento de la función.Ejemplo:numero = 54texto = "algun texto sin importancia"

#Imprimiendo el resultado de la función typeprint type(numero)print type(texto)print type(32/7)print type(numero == texto)

El resultado del Script:

Page 11: fefeClase1 Guia Estudiante

Función input(): Esta función permite ingresar datos en forma de números para almacenarlo en una variable y realizar operaciones.Ejemplo:#Usando la función input()numero_ingresado = input("ingrese algun numero:") #texto a mostrar

#Algunas operacionesdoble_del_numero = numero_ingresado * 2 #multiplica por dosmitad_del_numero = numero_ingresado / 2.0 #divide entre dos

#Mostrando resultadosprint "has ingresado el numero:",numero_ingresadoprint "si lo multiplicas por 2:",doble_del_numeroprint "si lo divides entre 2:",mitad_del_numero

Ejecutando el script de Python 3 veces con diferentes valores de entrada:

Page 12: fefeClase1 Guia Estudiante

Función raw_input(): Esta función permite ingresar datos en forma de cadena de texto.La función raw_input() no es compatible con la función input() Pues retornan tipos de datos distintos. Pero podemos realizar la conversión de una cadena a un número de manera sencilla como se ve en el siguiente ejemplo:Ejemplo:#Usando la función raw_input()nombre = raw_input("ingrese su nombre: ")apellido = raw_input("ingrese su apellido: ")edad = raw_input("ingrese su edad: ")

#Realiza operacionesnombre_completo = nombre +" "+ apellido #concatena cadenasedad = int(edad) #convierte cadena a número de tipo int

#Muestra resultadosprint "Tu nombre es:", nombre_completoprint "Tienes:",edadprint "Dentro de 5 años tendras:",edad+5

Resultado del Script anterior es:

Ingresado por el Script

Ingresado por el

Ingresado por el

Script

Script

Page 13: fefeClase1 Guia Estudiante

Función del(): Esta función permite eliminar una variable para liberar memoria usada por el programa en Python. Ejemplo:#Usando la función del()variable = input("ingrese algun numero: ") #almacena en variableprint "la variable tiene el valor:", variable #imprime su valor

print "eliminando variable"del(variable) #usando la función delete

print variable #intento imprimir la variable que elimine

El resultado del Script será un error:

Ingresado por el

Script

Page 14: fefeClase1 Guia Estudiante

Claro que los datos dentro del programa no hacen nada al estar solo almacenados, debemos ahora realizar algunas operaciones con dichos datos para tener un programa funcional.

Operadores en Python:Algunas de las operaciones más útiles dentro del lenguaje Python son las siguientes:

Operadores AritméticosOperador Descripción Ejemplo Resultado

+ Suma 6 + 7.4 13.4+ Concatenación de

cadenas y listas“hola” + “a todos” ‘holaa todos’

+ [1,3,5,7]+[9] [1,3,5,7,9]- Resta 15 – 14.7 0.300000000000000

7* Multiplicación 1.1 * 3.6 3.960000000000000

4* Repetición de

Cadena“que?” * 3 ‘que?que?que?’

** Potenciación 2 ** 10 1024/ División 7.5 / 2 3.75// División Entera 7.5 // 2 3.0% Módulo 13 % 5 3

Sentencias de Control en PythonLos programas desarrollados hasta ahora se han ejecutado de manera secuencial línea por línea. Sin embargo existen muchos casos donde se desea que el programa tenga otra secuencia dependiendo de ciertos valores en las variables.

Error de variable no definida

Page 15: fefeClase1 Guia Estudiante

Se busca que el programa sea capaz de analizar dichas variables y: Tome decisiones de ejecutar cierta sección de código o no. Tome decisiones de ejecutar cierto código repetidas veces.

Para ese propósito, veremos ahora, las sentencias de control condicionales e iterativas:

Sentencia if(), elif(), else: Estas son sentencias de control condicionales que permiten tomar decisiones de ejecutar cierta parte del programa dependiendo de la condición con la que se analice.La sentencia if debe tener la siguiente forma:

if(condicion_booleana):código_que_se_ejecuta_si_la_condicion_es_verdaderacódigo_que_se_ejecuta_si_la_condicion_es_verdaderacódigo_que_se_ejecuta_si_la_condicion_es_verdadera

else:código_que_se_ejecuta_si_la_condicion_ NO_es_verdaderacódigo_que_se_ejecuta_si_la_condicion_ NO_es_verdaderacódigo_que_se_ejecuta_si_la_condicion_ NO_es_verdadera

Es importante notar que el código que el código bajo la sentencia del if() debe ir con una identación (generalmente un TAB). También es importante notar que la sentencia de control termina en dos puntos para indicar la siguiente sección que es el código que va a ejecutar.Esta identación será usada activamente en los siguientes capítulos, no solo en sentencias de control sino también en funciones y clases.Indirectamente, la identación fuerza a mantener el código de manera ordenada y legible.

Ejemplo:###################################################################Uso de la estructura de control ifnombre = raw_input("cual es tu nombre?\n>")print nombre,edad = input(",cual es tu edad?\n>")

#Respondiendo si es mayor o menor de edadif edad >= 18: #SI LA EDAD ES MAYOR O IGUAL A 18

print "Ya eres mayor de edad, felicidades"

else: #DE LO CONTRARIOte_faltan = 18 – edad #CALCULA CUANTOS AÑOS FALTANprint "Aun te faltan",te_faltan,"años para ser mayor de

edad"

Page 16: fefeClase1 Guia Estudiante

Veamos algunos resultados del Script:

Sentencia while(): Esta es una sentencia iterativa que permite ejecutar cierta sección de código mientras que una condición se mantenga verdadera:La sentencia tiene la siguiente estructura:while(condicion_booleana):

código_que_se_ejecuta_mientras_la_condicion_es_verdaderacódigo_que_se_ejecuta_mientras_la_condicion_es_verdaderacódigo_que_se_ejecuta_mientras_la_condicion_es_verdadera

Ejemplo:#USO DE LA SENTENCIA WHILEprint "*********************************************************"print "Juego de adivinanzas"print "Si adivinas el valor de la variable, ganas el juego"

variable_secreta = 6 #valor cualquieracondicion = True #condición booleana para el while

while condicion:numero_adivinado = input("Ingresa un numero entre 0 y 10:

")

Ingresado por el usuario

Resultado del Script

Ingresado por el usuario

Resultado del Script

Page 17: fefeClase1 Guia Estudiante

if numero_adivinado == variable_secreta: #Si adivina el numero

condicion = False #cambia la condición

else: print "intentalo denuevo, estas muy cerca..." condicion = True #sino, sigue en el while

print "Has ganado el juego!, la variable era: ", variable_secreta print "************************************************************"

El resultado de ejecutar el script será el siguiente

Sentencia for – in : Esta es una sentencia iterativa que es ideal para ejecutar una sección de código de manera repetida una cantidad exacta de veces, o cuando se quiere acceder de manera sencilla a los elementos de algún tipo de dato iterativo.La sentencia for tiene la siguiente estructura:

for variable in conjunto_de_valores:código_que_se_ejecuta_cierta_cantidad_de_vecescódigo_que_se_ejecuta_cierta_cantidad_de_veces

Ingresado por el usuario

Respuesta del script

Page 18: fefeClase1 Guia Estudiante

código_que_se_ejecuta_cierta_cantidad_de_veces

Ejemplo:#USO DE LA SENTENCIA FOR-IN#PARA repetir cierta cantidad de vecesfor variable in range(7):

print "este texto aparecio:",variable,"veces"

print "*************************************"

#PARA acceder a los elementos de una listalista = [3,5,7,91,3,2,8]for valor in lista:

print valor, "::", valor**2

print "*************************************"

#también PARA los elementos de un Stringtexto = "hola"for letra in texto:

valor_ascii = ord(letra) #calcula el valor ascii de la letra

print letra,"es el valor",valor_ascii,"de la tabla ASCII"

El resultado del script será:

Page 19: fefeClase1 Guia Estudiante

Uso y Creación de FuncionesYa hemos hecho uso de algunas funciones propias de Python, específicamente en la sección de ingreso y salida de datos ( input() y print() ). Sin embargo existen muchas más funciones propias del lenguaje, incluidas en librerías.Sin embargo es posible crear funciones para poder simplificar secciones de código dentro del script de Python.La declaración de una nueva función se hace con la palabra reservada def:Y La estructura que debe tener la declaración es de esta forma:

def funcion_nueva(argumentos):código_dentro_de_la_funcióncódigo_dentro_de_la_funcióncódigo_dentro_de_la_funciónreturn valor_opcional

Ejemplo:#Creación de una función en Python

Page 20: fefeClase1 Guia Estudiante

def mifuncion(numero1, numero2):numero3 = numero1 * numero2 #producto en una

variablereturn numero3 #retorna la variable

#Usando la funciónprobando = mifuncion(4,7)print probandoprint mifuncion(4,11.1) Resulta en:

Sin embargo para mantener más ordenado el script se recomienda agregar la sección del programa main en el script. Este permitirá diferenciar la sección de funciones creadas con la sección del programa principal:Ejemplo:

def funcion1(variable1, variable2): #NUEVA FUNCIONreturn variable1+variable2

def funcion2(arg1, arg2): #NUEVA FUNCIONreturn arg1*arg2

if __name__ == '__main__': #ESTE ES EL PROGRAMA PRINCIPAL

print "programa iniciado"print "probando funciones"print funcion1(67, 133.1)print funcion1("texto","infinito")print funcion2("que?!",3)print funcion2(3+4j,2-1j)

En la consola veremos:

Page 21: fefeClase1 Guia Estudiante

Ahora que tenemos una base en el lenguaje de programación Python, pasemos a usar algunas librerías para aumentar el rango de aplicaciones que se pueden desarrollar.

Librería pyserial

Este módulo de Python permite la configuración y acceso al puerto serial. Debemos incluir la librería a través de la función import.

Manejar el puerto serial con pySerial:Para abrir el puerto serial podemos apoyarnos del código anterior, abriremos el primer puerto resultado del escaneo, usando 9600 baudios, 8 bits de data, sin paridad, 1 bit de parada. Luego enviaremos algunos caracteres y cerraremos el puerto serial.

Page 22: fefeClase1 Guia Estudiante

Librería matplotlib

Matplotlib es una librería que permite realizar gráficas 2D como histogramas, plots, gráfica de barras, y todas las funciones son accesibles desde Python. Con esta librería las capacidades de Python se hacen comparables con software como MATLAB o Mathematica.

Manejar de la librería matplotlib:Demostraremos el uso de la librería para realizar gráficas 2D de datos almacenados en un tipo de dato iterativo (arreglo o lista).

Page 23: fefeClase1 Guia Estudiante

Corriendo el Script, aparecerá la siguiente gráfica de matplotlib donde muestra los datos del arreglo.

Otra manera más abreviada de usar las funciones del módulo pyplot en la librería matplotlib importándolo de la siguiente manera:

Page 24: fefeClase1 Guia Estudiante