Que puedo hacer PYTHON 2

Documentos relacionados
CURSO PROFESIONAL DE PYTHON MÁSTER EN DESARROLLO DE APLICACIONES WEB CON JAVA ENTERPRISE EDITION

Microsoft Excel 2010 Completo + Profesional

Ficheros. fd = open(nombre, modo)

ACCESS XP. Objetivos. Duración. 64 horas. Contenidos. Módulo 1: Introducción. Parte 1 Bienvenida Certificado MOUS Resumen

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

1

ESCUELA DE INFORMÁTICA

PROGRAMACIÓN EN PYTHON 2. Clara Higuera Laboratorio Integrado de Biofísica y Bioinformática Nov-2015

Principios de Computadoras II

MICROSOFT ACCESS 2007 (COMPLETO)

FUNDAMENTOS DE INFORMÁTICA

MICROSOFT EXCEL 2010

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

INTRODUCCIÓN A BASE DE DATOS. Excel - Access

La clase String

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Elementos de un programa en C

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Clase 4: Modularizando código

Tema 2. El lenguaje JAVA

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Clase 4: Un poco más de Python

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

Computación II. Introducción a Visual Basic

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Datos y tipos de datos

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

El lenguaje C. 1. Identificadores, constantes y variables

Guía del Curso Experto en Microsoft Excel 2016, VBA y Business Intelligence

INFORMÁTICA Y COMUNICACIONES

Tipos de datos para Campos

Tablas: Modificar o cambiar el tipo de datos de un campo

Guía del Curso Certificación It en Microsoft Excel VBA para Excel: Macros and Graphics Expert

GLOSARIO DE MICROSOFT VISUAL BASIC (HAZ CLIC EN LA OPCION DEL MENU Y ACCEDERAS RAPIDAMENTE)

1 ELEMENTOS BASICOS DEL LENGUAJE

Este taller estará orientado a aquellas personas que no han visto jamás Python y también a aquellos que quieran pasar de Python 2 al 3

PAQUETE MICROSOFT 2010 COMPLETO

Preliminares. Tipos de variables y Expresiones

MANUAL BÁSICO DE MYSQL

ÍNDICE PRÓLOGO... XI. CAPÍTULO 2. ESTRUCTURAS Y TIPOS DE DATOS BÁSICOS Introducción Conceptos básicos Tipado dinámico...

Curso AVANZADO DE EXCEL 2013

Aprender a desarrollar con JavaScript

Resumen del lenguaje de programación Visual Basic.NET

Jornadas sobre Gnu/Linex: Uso de Software Libre en las Administraciones públicas. Sonia Pizarro Redondo

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Introducción a Python (3.x)

Tema 2. El lenguaje de programación Java (Parte 1)

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

MÓDULO HOJAS DE CÁLCULO

Objetivos. <?echo $telefono;?>

Desarrollo de un intérprete del lenguaje Python

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Java para no Programadores

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Curso Introducción JAVA Pág.: 1

Ficha de Aprendizaje N 13

MANUAL DE RUBY (PARTE I) Luis José Sánchez González

Unidad 5. Tablas. La celda que se encuentra en la fila 1 columna 2 tiene el siguiente contenido: 2º Celda

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

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

MICROSOFT WORD AVANZADO. Nº Horas: 18. Objetivos:

Modulo I: Introducción Gestores de Bases De Datos

Tema 3 Elementos básicos de programación

Elementos léxicos del lenguaje de programación Java

Tema: Tipos de datos y conversiones

Introducción Base de datos Tabla Tipos de campos Clave principal Índice Administrador de base de datos Relaciones entre tablas Consulta Formulario

Microsoft Visual Studio está basado en.net framework. Definiciones de.net Framework:

Estructuras de control

INSTITUTO ELECTORAL DEL ESTADO DE MÉXICO SECRETARÍA EJECUTIVA UNIDAD DE INFORMÁTICA Y ESTADÍSTICA

Taller 1 Utilización eficaz de hojas de cálculo Excel

Hoja de ejercicios del Tema 3

Educomputacion. Te ofrece el :

UNIDAD 4. MODIFICAR TABLAS DE DATOS

TEMA 2. Agenda. Fundamentos de JAVA

Datos y tipos de datos

4. Operadores Operador asignación

Código IN_0035. Nombre WORD Categoría INFORMÁTICA. Modalidad ONLINE. Duración 50 HORAS. Vídeo. Audio. Objetivos

Programación en Visual Basic Ricardo Rodríguez García

Fundamentos de JAVA. Angel Kuri Enero, /2/2006

SAGE (ENTORNO DE CÁLCULOS MATEMÁTICOS)

Requisitos Previos de Instalación Conceptos básicos a manejar antes de avanzar con el curso.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

TUTORIAL SOBRE HOJAS DE CALCULO

Repasar las herramientas básicas para crear y animar una presentación de PowerPoint. Utilizar y crear plantillas automatizando tareas repetitivas.

Rúbrica evaluativa. SUBPRODUCTO 1: Descripción de artículos

A.1. Definiciones de datos en SQL

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Ubicación e historia

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Excel 2013 Completo. Duración: Objetivos: Contenido: 80 horas

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet DLSI - Universidad de Alicante 1

1 Estructura básica de un programa C++

Fundamentos del Lenguaje de Programación Java

Desarrollo y Construcción de Prototipos Electrónicos

PROPIEDADES DE LOS CAMPOS. Cada campo de una tabla dispone de una serie de características que proporcionan un control

Transcripción:

Que puedo hacer PYTHON 2

QUE VAMOS A VER Un poco de Python, que es? Los falsos mitos de Python Facilitándonos el trabajo Utilidades practicas La utilidad de las Listas, Diccionarios y Strings Interfaces graficas basadas en formularios(wizards) Persistencia de datos utilizando BD R.E. Extraer datos de una web

UN POCO DE PYTHON, QUE ES? Es un lenguage de programación de (muy) alto nivel Es un lenguaje interpretado Es un lenguaje multiparadigama Es fuertemente tipado pero dinámico Favorece la lectura de código Obliga a la estructuración visual del código

UN POCO DE PYTHON, QUE ES? (II) Es multiplataforma Open Source(PSFL) http://es.wikipedia.org/wiki/python_software_foundation_license

FALSOS MITOS DE PYTHON Python es Lento Permite llamadas nativas a funciones en C PyPy -> python implementado en python Poca capacidad de desarrollar aplicaciones completas openerp, parte del Kernel de linux..

FACILITÁNDONOS EL TRABAJO - SETUPTOOLS Setuptools, es una colección de mejoras para el módulo distutils de Python Por defecto, utiliza PyPI para buscar los paquetes Permite crear paquetes Egg Python, que son Paquetes Python empaquetados en un sólo archivo para su distribución. Incluye archivos de configuración y todos los archivos que forman parte del directorio de trabajo, sin necesidad de listarlos individualmente o crear archivos de manifiesto.

FACILITÁNDONOS EL TRABAJO - EASYINSTALL easy_install, es una herramienta que se basa en Setuptools para automáticamente encontrar y descargar desde Internet las dependencias, para instalarlas o actualizarlas, ya sea bajo demanda o cuando son requeridas como dependencias al instalar otra aplicación Instalación en sistemas Debian sudo apt-get install build-essential python-dev python-setuptools Ejemplos de uso easy_install SQLObject easy_install -f http://pythonpaste.org/package_index.html SQLObject easy_install -i http://pypi.ejemplo.com/simple SQLObject (replica repositorio) easy_install http://ejemplo.com/ruta/a/mipaquete-1.2.3.tgz easy_install./descargas/otropaquete-3.2.1-py2.7.egg easy_install "ZopeSkel==2.21.2 (versión especifica) easy_install --upgrade PyProtocols Instalar pip easy_install python-pip Es otro instalador de paquetes

DEMO INTRO Iniciar interprete en python Calcular 33 elevado a 5 Calcular 2 elevado a 128 Calcular 5 elevado a 512

TIPOS DE DATOS Tipo Clase Notas Ejemplo str Cadena Inmutable 'Cadena' unicode Cadena Versión Unicode de str u'cadena' list Secuencia Mutable, puede contener objetos de diversos tipos [4.0, 'Cadena', True] tuple Secuencia Inmutable, puede contener objetos de diversos tipos (4.0, 'Cadena', True) set Conjunto Mutable, sin orden, no contiene duplicados set([4.0, 'Cadena', True]) frozenset Conjunto Inmutable, sin orden, no contiene duplicados frozenset([4.0, 'Cadena', True]) dict Mapping Grupo de pares clave:valor {'key1': 1.0, 'key2': False} int Número entero Precisión fija, convertido en long en caso de overflow. 42 long Número entero Precisión arbitraria 42L ó 456966786151987643L float Número decimal Coma flotante de doble precisión 3.1415927 complex Número complejo Parte real y parte imaginaria j. (4.5 + 3j) bool Booleano Valor booleano verdadero o falso Alejandro True Anuncibay o False - Grupo Universitario

PYTHON - ESTRUCTURAS DE CONTROL DE FLUJO Estructuras de control de flujo condicionales Las estructuras de control de flujo condicionales, se definen mediante el uso de tres palabras claves reservadas, del lenguaje: if (si), elif (sino, si) y else (sino).

PYTHON - ESTRUCTURAS DE CONTROL DE FLUJO Estructuras de control iterativas Bucle while Bucle for

FUNCIONES Y PROCEDIMIENTOS Definición de funciones Sintaxis: Definición de procedimientos Sintaxis:

LISTAS - MÉTODOS DE AGREGADO Agregar un elemento al final de la lista Método: append( nuevo elemento ) Agregar varios elementos al final de la lista Método: extend(otra_lista) Agregar un elemento en una posición determinada Método: insert(posición, nuevo elemento )

LISTAS - MÉTODOS DE ELIMINACIÓN Eliminar el último elemento de la lista Método: pop() Retorna: el elemento eliminado Eliminar un elemento por su índice Método: pop(índice) Retorna: el elemento eliminado Eliminar un elemento por su valor Método: remove( valor )

LISTAS - MÉTODOS DE ORDEN Ordenar una lista en reversa (invertir orden) Método: reverse() Ordenar una lista en forma ascendente Método: sort() Ordenar una lista en forma descendente Método: sort(reverse=true)

LISTAS - MÉTODOS DE BÚSQUEDA >>> nombres_masculinos = ["Alvaro", "Miguel", "Edgardo", "David", "Miguel"] Contar cantidad de apariciones elementos Método: count(elemento) >>> nombres_masculinos.count("miguel") 2 Obtener número de índice Método: index(elemento[, indice_inicio, indice_fin]) >>> nombres_masculinos.index("miguel") 1 >>> nombres_masculinos.index("miguel", 2, 5) 4

LISTAS VALOR MÁXIMO Y MÍNIMO Podemos obtener además, el valor máximo y mínimo tanto de listas como de tuplas: Valor máximo Método: max() Retorna: el valor máximo Valor mínimo Método: min() Retorna: el valor mínimo

DEMO LISTAS

DICCIONARIOS Un diccionario en Python es, en esencia, lo mismo: una colección de pares formados por claves y definiciones. Las claves no tienen que ser, necesariamente, palabras: puede servir cualquier tipo que sea inmutable, como los números o los strings. Las claves han de ser únicas. Si tratamos de agregar otra ya existente, simplemente el valor nuevo sustituirá al antiguo

DICCIONARIOS - MÉTODOS DE ELIMINACIÓN Eliminar un par (clave:valor) Método: del diccionario[clave] Vaciar un diccionario Método: clear()

DICCIONARIOS - MÉTODOS DE AGREGADO Y CREACIÓN Copiar un diccionario Método: copy() >>dicc2 = dicc1.copy() Crear un nuevo diccionario desde las claves de una secuencia Método: dict.fromkeys(secuencia[, valor por defecto]) Concatenar diccionarios Método: update(diccionario) >>dicc1 = dicc1.update(dicc2)

DICCIONARIOS - MÉTODOS DE RETORNO Obtener el valor de una clave Método: get(clave) Retorna: valor Saber si una clave existe en el diccionario Método: has_key(clave) Retorna: True o False Obtener las claves y valores de un diccionario Método: iteritems() Alias: items() Ejemplo: for clave, valor in diccionario.iteritems(): print "El valor de la clave %s es %s" % (clave, valor) Obtener los valores de un diccionario Método: values() Retorna: lista [] Obtener la cantidad de elementos de un diccionario Metodo: len(dicc) Retorna: número Elementos

DEMO DICCIONARIOS

STRINGS - MÉTODOS DE FORMATO Convertir a mayúscula la primera letra Método: capitalize() Retorna: una copia de la cadena con la primera letra en mayúsculas Convertir una cadena a minúsculas Método: lower() Retorna: una copia de la cadena en minúsculas Convertir una cadena a mayúsculas Método: upper() Retorna: una copia de la cadena en mayúsculas Convertir mayúsculas a minúsculas y viceversa Método: swapcase() Retorna: una copia de la cadena convertidas las mayúsculas en minúsculas y viceversa

STRINGS - MÉTODOS DE BÚSQUEDA Contar cantidad de apariciones de una subcadena Método: count( subcadena [, posicion_inicio, posicion_fin]) Retorna: un entero representando la cantidad de apariciones de subcadena dentro de cadena Buscar una subcadena dentro de una cadena Método: find( subcadena [, posicion_inicio, posicion_fin]) Retorna: un entero representando la posición donde inicia la subcadena dentro de cadena. Si no la encuentra, retorna -1

STRINGS - MÉTODOS DE VALIDACIÓN Saber si una cadena comienza con una subcadena determinada Método: startswith( subcadena [, posicion_inicio, posicion_fin]) Retorna: True o False Saber si una cadena finaliza con una subcadena determinada Método: endswith( subcadena [, posicion_inicio, posicion_fin]) Retorna: True o False

STRINGS - MÉTODOS DE VALIDACIÓN II Saber si una cadena es alfanumérica Método: isalnum() Saber si una cadena es alfabética Método: isalpha() Saber si una cadena es numérica Método: isdigit() Saber si una cadena contiene solo minúsculas Método: islower() Saber si una cadena contiene solo mayúsculas Método: isupper() Saber si una cadena contiene solo espacios en blanco Método: isspace()

STRINGS - MÉTODOS DE SUSTITUCIÓN Dar formato a una cadena, sustituyendo texto dinámicamente Método: format(*args, **kwargs) Retorna: la cadena formateada Reemplazar texto en una cadena Método: replace( subcadena a buscar, subcadena por la cual reemplazar ) Retorna: la cadena reemplazada Eliminar caracteres a la izquierda y derecha de una cadena Método: strip([ caracter ]) Retorna: la cadena sustituida Eliminar caracteres a la izquierda de una cadena Método: lstrip([ caracter ]) Retorna: la cadena sustituida Eliminar caracteres a la derecha de una cadena Método: rstrip([ caracter ]) Retorna: la cadena sustituida

STRINGS - MÉTODOS DE UNIÓN Y DIVISIÓN Unir una cadena de forma iterativa Método: join(iterable) Retorna: la cadena unida con el iterable (la cadena es separada por cada uno de los elementos del iterable) Partir una cadena en tres partes, utilizando un separador Método: partition( separador ) Retorna: una tupla de tres elementos donde el primero es el contenido de la cadena previo al separador, el segundo, el separador mismo y el tercero, el contenido de la cadena posterior al separador Partir una cadena en varias partes, utilizando un separador Método: split( separador ) Retorna: una lista con todos elementos encontrados al dividir la cadena por un separador Partir una cadena en en líneas Método: splitlines() Retorna: una lista donde cada elemento es una fracción de la cadena divida en líneas

DEMO STRINGS

EASYGUI Una forma sencilla y rápida de crear interfaces en Python Interfaces tipo formulario Muy Pythonico Utiliza la librería TK -> librería grafica que incorpora python por defecto Multiplataforma

EASYGUI II Instalación Se puede instalar Forma portable, descargar de internet e importar desde tu proyecto http://sourceforge.net/projects/easygui/files/0.97/easy gui-0.97.zip/download Lo primero, importarlo en tu proyecto: from easygui import *

EASYGUI CAJAS DE BOTONES msgbox msgbox( texto ) ccbox, ynbox -> retornan boleano ccbox(msg, title) ynbox(msg,title) buttonbox, indexbox, boolbox (message, title, [options])

EASYGUI LISTA DE OPCIONES choicebox opcion = choicebox(msg, title, choices) multchoicebox opciones = multchoicebox(message, title, [options])

EASYGUI CUADRO DE ENTRADA enterbox enterbox(msg,title) integerbox integerbox(msg,title) passwordbox passwordbox(msg,title) multenterbox fieldvalues = [] fieldvalues = multenterbox(msg,title, fieldnames)

EASYGUI MOSTRAR TEXTO textbox textbox(string(s)) codebox codebox (string(s))

EASYGUI TRABAJAR CON FICHEROS diropenbox diropenbox() Retorna:nombre de directorio fileopenbox fileopenbox () Retorna:nombre de fichero filesavebox filesavebox () Retorna:nombre de fichero

DEMO EASYGUI

PYTHON Y SQLITE Base de datos serverless, basada en ficheros Rápida y de bajo consumo de recursos Uso import sqlite3

RE Librería standard de python que implementa expresiones regulares Las expresiones regulares, también llamadas regex o regexp consisten en patrones que describen conjuntos de cadenas de caracteres. http://www.tutorialspoint.com/python/pdf/python_ reg_expressions.pdf

EXTRAER DATOS DE UNA WEB Ejemplo practico para extraer datos de una web

PREGUNTAS

ALGUNOS RETOS CREAR UN PROGRAMA PARA ALMACENAR EN UNA BASE DE DATOS UNA AGENDA DE TELEFONOS CON GUI MEJORAR EL SOFTWARE PARA RASTREAR LA WEB CUALQUIER OTRA COSA QUE SE OS OCURRA