Introducción a Python

Documentos relacionados
Introducción al la programación en python: algunas ideas básicas

INTRODUCCIÓN A LA MATEMÁTICA DISCRETA PRÁCTICA 1

1. Explorando la ventana Python

Arreglos numéricos. Programación Clase 23

Python. Características Básicas

Introducción Data Science con Python Nestor Castro

Secuencias en Python. Introducción a la Computación Clase 11 Patricia Borensztejn

Comenzando a usar MatLab:

Programación básica en Python. M. en C. Edgardo Adrián Franco Martínez

El lenguaje de programación PHP Tipos de Datos. Semestre: A-2010

Matplotlib y otros graficadores

Tema IV El lenguaje de programación PHP Tipos de Datos

4.1 Conceptos Básicos de Matlab. Matlab es creado por The MathWorks, el cual es un idioma de alto rendimiento

Entrada/Salida. Introducción a la computación. Juan Manuel Pérez. (en base a slides de Maximiliano Geier) 04/05/2016

ING1310 Introducción a la Computación. Python. Conceptos Básicos. Carlos Reveco

Introducción a la Ciencia de Datos

Manual rápido para evaluación de series en Python

Variables, expresiones y sentencias

Python en Supercomputación Charla introductoria Guillem Borrell i Nogueras ETSIA, Octubre 2007

Factorización LU y la librería GSL. Graficaciíon en Gnuplot

LABORATORIO #1 INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C++

Transponer vectores Es cambiar los vectores fila por columna y se hacen con una comilla al final de la variable del vector. P.E

TERCER SEMESTRE PORTAFOLIO DE SEGUNDA OPORTUNIDAD

import math # Importa la libreria math, que permite utilizar operaciones y funciones matematicas

Características básicas de Matlab

índice MÓDULO 1: Excel 2013 Parte 1ª Excel 2013 TEMA 1. Primeros Pasos TEMA 2. Operaciones Básicas TEMA 3. Ayuda de Excel TEMA 4.

Programación Orientada a Objetos

Introducción a Python. Cecilia Manzino

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

índice MÓDULO 1: Excel XP 1ª Parte Ofimática Avanzada Excel XP TEMA 1. Primeros Pasos TEMA 2. Operaciones Básicas TEMA 3.

Apunte Laboratorio ALPI - El lenguaje de programación Pascal

Instalación e introducción a R, Rstudio y R Commander

Cuales son los 6 lenguajes de programacion mas usados actualmente. Cuales son los 6 lenguajes de programación mas usados actualmente.

MANUAL DE USUARIO PYTHON-PROYECTO: BOLICHE INDICE DESCRIPCIÓN DEL PROGRAMA

Lenguaje de programación C. Introducción

UNIDAD I. Universidad del Zulia Costa Oriental del Lago. Conceptos Básicos

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

Universidad Nacional del Santa FACULTAD DE INGENIERIA E.A.P. Ingeniería de Sistemas e Informática NETBEANS 7.0 MI PRIMER PROYECTO

COLEGIO DE ESTUDIOS DE POSGRADO DE LA CIUDAD DE MÉXICO

Spyder: Un IDE diseñado para científicos

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

índice MÓDULO 1: Introducción a Visual Basic 6.0 MÓDULO 2: Fundamentos de programación TEMA 1. Introducción a Visual Basic 6.0

PROCESAMIENTO DIGITAL DE SEÑALES PRACTICAS MATLAB/LABVIEW

PRACTICA 1 LABORATORIO DE INGENIERÍA DE SISTEMAS INTRODUCCIÓN A MATLAB

Estructura de Datos: Archivos

PROGRAMA DE CONTROL DE CALIDAD

CLASE 1 INTRODUCCIÓN A MATLAB

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS

Taller: Desarrollo Rápido de Aplicaciones para Dispositivos Móviles Comptabiles con S60 Práctica 1

CURSO DE EXCEL -INTERMEDIO

Ficha técnica. Visual Basic 6.0

Introducción a Arduino

Introducción a Matlab. Ing. Laura López López

Una base de datos de Access puede estar conformada por varios objetos, los más comunes son los siguientes:

Introducción a PSeInt

Laboratorio 2 MA-33A : Interpolación y Aproximación de Funciones

PASCAL. Repaso de Pascal Introducción a Python. Pascal. Pascal - introducción. Pascal Declaraciones: Variables. Pascal Declaraciones: Tipos 07/04/2015

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Laboratorio de Procesamiento Digital de Voz Practica 1. INTRODUCCION DE MATLAB Y MANEJO DE ARCHIVOS DE VOZ

Introducción. Universidad de Concepción, Chile Departamento de Geofísica Programación Científica con Software libre.

Carrera: Participantes Miembros de la academia de Metal- Mecánica

USAC, Fac. Ing., Aplic. 2N, Prof. J. Saquimux, Aux. C. Pérez (Borrador)

OBJETIVOS ÍNDICE MÓDULO 1: VISUAL BASIC 6.0 PARTE 1ª

Introducción a Matlab y Simulink

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Solución de Ecuaciones Simultáneas por el Método de Matrices

Taller de Caché. Organización del Computador 1. Verano 2016

Tema: Manejo del Puerto Serie con LabView

28/08/ :52:22 Página 1 de 5

Métodos Numéricos con Python y los Super Amigos

Carrera: EMZ Participantes Representante de las academias de ingeniería Electromecánica de los Institutos Tecnológicos.

Introducción a la programación: Algoritmos

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Tema 2: Desarrollo de Algoritmos. E.E. de Algorítmica

Data Science. Herramientas, lenguajes y Python

Programación científica en Python

EXPERIMENTO / TAREA # 4 INTRODUCCION AL SISTEMA ARDUINO Y DESARROLLO DE UN SUB VI PARA SENSOR ULTRASONICO

Conceptos básicos de Arduino:

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes.

Retículos y Álgebras de Boole

LOS BENEFICIOS DE UTILIZAR R SOFTWARE

Transcripción:

Introducción a Python Rodrigo Chang Universidad de San Carlos de Guatemala com4.e6.usac@gmail.com 22 de febrero de 2015 Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 1 / 23

Lo que veremos hoy... 1 Introducción a Python Qué es Python? Características de Python Ejemplos sencillos Arreglos de datos 2 Módulos de Python SciPy NumPy Matplotlib PyLab pyserial 3 La teoría no es suficiente Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 2 / 23

Historia de Python Creado a finales de los ochenta por Guido van Rossum. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 3 / 23

Historia de Python Creado a finales de los ochenta por Guido van Rossum. Python proviene de los humoristas británicos Monty Python. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 3 / 23

Historia de Python Creado a finales de los ochenta por Guido van Rossum. Python proviene de los humoristas británicos Monty Python. Se ha desarrollado bastante por su facilidad y actualmente se encuentra hasta la versión 3.4. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 3 / 23

Características de Python Es un lenguaje interpretado. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 4 / 23

Características de Python Es un lenguaje interpretado. Figura: Proceso de desarrollo utilizando un lenguaje compilado Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 4 / 23

Características de Python Es un lenguaje interpretado. El manejo de tipos es dinámico. Figura: Proceso de desarrollo utilizando un lenguaje compilado Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 4 / 23

Características de Python Es un lenguaje interpretado. El manejo de tipos es dinámico. Multiplataforma. Figura: Proceso de desarrollo utilizando un lenguaje compilado Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 4 / 23

Características de Python Es un lenguaje interpretado. El manejo de tipos es dinámico. Multiplataforma. Es un lenguaje multiparadigma. Figura: Proceso de desarrollo utilizando un lenguaje compilado Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 4 / 23

Características de Python Es un lenguaje interpretado. El manejo de tipos es dinámico. Multiplataforma. Es un lenguaje multiparadigma. Es extremadamente fácil para aprender a programar. Figura: Proceso de desarrollo utilizando un lenguaje compilado Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 4 / 23

Un lenguaje interpretado Figura: Proceso de desarrollo utilizando un lenguaje interpretado Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 5 / 23

Nuestro primer programa en Python En Python es tan fácil como escribir el pseudocódigo que lo hace: # Primer programa print Hola gente de com4! También podemos realizar operaciones aritméticas a = 2 b = 3 c = a **2 + 2*a*b + 1 # c = 17 d = a / b # d = 0 d = (a * 1.0) / b # d = 0. 666666 Y podemos cambiar el tipo de una variable o constante 1 for i in [2, com4, (1,2,3) ] print type ( i) 3 # Salida 5 #<type int > #<type str > 7 #<type tuple > Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 6 / 23

Tuplas, listas y diccionarios Arreglos de datos muy útiles Tuplas Son una secuencia ordenada de elementos, que pueden ser de distintos tipos. La característica principal de las tuplas es que son inmutables. Listas Muy parecidas a las tuplas, pero son mutables. Podemos modificar los elementos de la lista, en otras palabras: agregar, eliminar y ordenar la lista. Diccionarios Son muy parecidos a las listas, a cada elemento del diccionario se le asigna una llave. Y la única condición para esta llave es que sea un elemento inmutable. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 7 / 23

Ejemplos # Definiendo una tupla 2 a = (1,2,3) b = a + (4,) # b = (1,2,3,4) 4 print b [2] # 3 print type ( b) # < type tuple > 6 # Definiendo una lista 8 c = [1,2,3,4,5] print c [1:3] # [2, 3] 0 print c [:3] # [1, 2, 3] c. append (6) 2 print c # [1, 2, 3, 4, 5, 6] 4 # Definiendo un diccionario d = {} 6 d[ a ] = 2 d [(1,2) ] = 20 8 d [2] = 12 print d # { a : 2, (1, 2): 20, 12: 12} Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 8 / 23

Módulos de Python Los módulos agrupan funciones que comparten un tema en común. Podemos crear nuestro propio módulo en un archivo *.py Para obtener acceso a las funciones de los módulo utilizamos el comando import Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 9 / 23

Módulos de Python Los módulos agrupan funciones que comparten un tema en común. Podemos crear nuestro propio módulo en un archivo *.py Para obtener acceso a las funciones de los módulo utilizamos el comando import Y lo más importante... Aprovechamos piezas de código escritas por otras personas para proporcionar funcionalidad extra a nuestros programas. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 9 / 23

SciPy Es un ecosistema de Python que incluye software de código abierto para matemáticas, ciencia e ingeniería. Provee funciones amigables al usuario y rutinas numéricas muy eficientes. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 10 / 23

Ejemplos # Importando el modulo 2 from scipy import signal 4 # Obteniendo los coeficientes de un filtro analogico b, a = signal. butter (4, 100, low, analog = True ) 6 # Computando la respuesta en frecuencia del filtro 8 w, h = signal. freqs (b, a) Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 11 / 23

NumPy Es el paquete fundamental para computación científica con Python. Provee un poderoso manejo de arreglos de objetos N-dimensionales. Posee funciones útiles de álgebra lineal y números aleatorios. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 12 / 23

Ejemplos # Importar el modulo 2 import numpy as np 4 # Crear un arreglo de valores u = np. linspace (0, 10, 50, endpoint = True ) 6 # Crear otro arreglo de valores 8 t = np. arange (0, 20, 0.1) 0 # Realizar una operacion sobre el arreglo y = np.sin (t) 2 # Crear una matriz y realizar un producto matricial 4 c = np. array ([[1,2], [3,4]]) d = np. array ([[7], [8]]) 6 dot (c,d) # devuelve array ([[23],[53]) Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 13 / 23

Matplotlib Es una librería para graficar en Python que provee gráficas de calidad y formatos interactivos de presentación de datos a través de distintas plataformas. Es ampliamente utilizado en scripts de Python y aplicaciones web. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 14 / 23

Ejemplos # Importar el modulo 2 import matplotlib. pyplot as plt 4 # Crear los datos t = np. arange (0, 50e -3, 0.0008333) 6 y = 0.5 * (1 + np. sin (2 * np. pi * 60 * t)) 8 # Graficar plt. plot (t, y, b- ) 0 # Poner los ejes y el titulo plt. title ( Grafica de muestra ) 2 plt. xlabel ( Tiempo [s] ) plt. ylabel ( Unidades [] ) 4 # Pone una leyenda en la grafica 6 plt. text (0.04, 0.9, r $0.5(1+\ sin (2\ pi f t)$ ) 8 # Mostrar la grafica plt. show () Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 15 / 23

Gráfica resultante Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 16 / 23

PyLab Es la combinación de los módulos Scipy, NumPy y Matplotlib. Provee integración de todas las funciones numéricas y científicas para el tratamiento de datos. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 17 / 23

PyLab Es la combinación de los módulos Scipy, NumPy y Matplotlib. Provee integración de todas las funciones numéricas y científicas para el tratamiento de datos. En palabras de sus creadores... PyLab es irresistible, integrado, utilizable y una alternativa superior a MATLAB Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 17 / 23

Ejemplo from pylab import * t = arange (0.0, 2.0, 0.01) s = sin (2* pi*t) plot (t, s) xlabel ( time (s) ) ylabel ( voltage (mv) ) title ( About as simple as it gets, folks ) grid ( True ) savefig (" test. png ") show () Ejemplo tomado de: http://matplotlib.org/1.3.1/examples/pylab_examples/simple_plot.html Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 18 / 23

pyserial Este módulo encapsula el acceso al puerto serial en Python. Es altamente configurable y fácil de utilizar. Está liberado también bajo una licencia de software libre. Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 19 / 23

Ejemplo # Importar el modulo 2 import serial 4 # Abre el puerto serial / dev / ttys1 con 8 N1@ 19200 puerto = serial. Serial ( / dev / ttys1, 19200, timeout =1) 6 # Leer un byte 8 x = puerto. read () 0 # Leer hasta 10 bytes dentro del timeout s = puerto. read (10) 2 # leer linea terminada en \ n 4 line = puerto. readline () 6 # Cerrar el puerto serial puerto. close () Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 20 / 23

Suficiente teoría por ahora... Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 21 / 23

Tarea[1] Reto de Python El reto es: Con la Tiva Launchpad, hacer un programa en Python que reciba por el puerto serial virtual muestras de una señal y graficarlas utilizando el módulo Matplotlib. Cada muestra se envía una después de otra como un byte (valores de 0 a 255). Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 22 / 23

Tarea[1] Reto de Python El reto es: Con la Tiva Launchpad, hacer un programa en Python que reciba por el puerto serial virtual muestras de una señal y graficarlas utilizando el módulo Matplotlib. Cada muestra se envía una después de otra como un byte (valores de 0 a 255). Debemos determinar Cuál es la forma de onda de la señal? Cuál es el período de la señal? Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 22 / 23

Tarea[1] Reto de Python El reto es: Con la Tiva Launchpad, hacer un programa en Python que reciba por el puerto serial virtual muestras de una señal y graficarlas utilizando el módulo Matplotlib. Cada muestra se envía una después de otra como un byte (valores de 0 a 255). Debemos determinar Cuál es la forma de onda de la señal? Cuál es el período de la señal? Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 22 / 23

Ejemplos útiles y clave 1 import matplotlib. pyplot as plt import serial 3 # Para graficar podemos utilizar solo los valores del eje Y 5 a = [1,2,3] plt. plot (a) 7 plt. show () 9 # Podemos obtener el valor numerico que corresponde a un caracter con la funcion ord () b = ord ( a ) # b = 97 1 # Para iterar sobre los caracteres de una cadena podemos hacer : 3 for char in cadena : print char 5 # La conexion hacia la Tiva Launchpad puede ser 7 puerto = serial. Serial ( COM7, 9600, timeout = 10) Rodrigo Chang (USAC) Laboratorio de Comunicaciones 4 22 de febrero de 2015 23 / 23