SlideShare a Scribd company logo
Desarrollar un módulo para
                Visuse




                              José Luis López Pino
http://visuse.wordpress.com
Python - Propiedades

   Es un lenguaje de alto nivel.
   Es un lenguaje interpretado (se ejecuta con un
    intérprete, no se compila).
   Es multiparadigma:
       Es orientado a objetos.
       Es funcional.
   Es fácil de aprender.
   Es libre.
   Es portable.
Python - Propiedades

   Es dinámicamente tipado (una variable puede
    tomar valores de distintos tipos).
   Es fuertemente tipado (una variable no se
    puede tratar como si fuese de otro tipo).
   Es implícitamente tipado (no hay que declarar
    las variables que usamos).
   Distingue entre mayúsculas y minúsculas.
Python - Sintaxis

   Las sentencias no necesitan carácter de
    terminación.
   Los bloques son especificados por indentación.
   Los comentarios comienzan con # .
   Asignamos con =.
   Comprobamos la igualdad con ==.
   Incrementamos/decrementamos con += y -=.
Python – Estructuras de datos

   Tenemos listas, tuplas y diccionarios.
   Las listas de comportan como vectores de una
    dimensión.
   Los vectores pueden ser de cualquier tipo,
    incluso puedes mezclar tipos.
   El primer elemento es 0 y -1 el último.
   Una variable puede apuntar a una función.
   El operador : sirve para acceder a rangos de un
    vector.
Python – Cadenas de texto

   Se pueden usar con comillas dobles o simples.
   Para las cadenas multilinea podemos usamos
    tres comillas (simples o dobles).
   Podemos meter valores dentro de una cadena
    utilizando el operador %:
       >>>print "Name: %snNumber: %snString: %s" %
        (myclass.name, 3, 3 * "-")
   También podemos hacer sustituciones con un
    diccionario:
       >>> print "This %(verb)s a %(noun)s." % {"noun":
        "test", "verb": "is"}
Python – Estructuras de control
1.for number in range(10):
2. if number in (3, 4, 7, 9):
3.     Blablabla
4. elif number == 8:
5.     bleblebleble
6. else:
7.     blibliblibli
8. else:
9.     blebleble
10.while loquesea == 1:
11. print "Fantástico"
Python - Funciones

   Se declaran con “def” keyword.
   Los parámetros se pasan por referencia.
   Sin embargo, los tipos inmutables (tuplas,
    enteros, cadenas, etc) no pueden ser
    cambiados.
   Podemos especificar parámetros opcionales
    asignándoles un valor por defecto.

    # Soy un comentario
    def soy_una_funcion(lista, entero=2, cadena='por defecto'):
      lista.append(cadena)
Python - Clases

   Admite herencia múltiple.

    class MyClass:
       common = 10
       def __init__(self):
         self.myvariable = 3
       def myfunction(self, arg1, arg2):
         return self.myvariable

    # This is the class instantiation
    >>> classinstance = MyClass()
    >>> classinstance.myfunction(1, 2)
Python - Excepciones

def some_function():
  try:
     # Division by zero raises an exception
     10 / 0
  except ZeroDivisionError:
     print "Oops, invalid."
  else:
     # Exception didn't occur, we're good.
     pass
  finally:
     # This is executed after the code block is run
     # and all exceptions have been handled, even
     # if a new exception is raised while handling.
     print "We're done with that."
Python – Importar

   Importar una biblioteca:
       import libreria
   Importar una función concreta:
       from libreria import funcion
¿Qué necesitamos para trabajar?

   Geany: un editor para Python.
   Subversion: sistema de control de versiones.
   Python ~2.6.2.
   Elegir un buscador.
Geany
   IDE ligero o editor con las funciones básicas de
    un IDE.
   Multiplataforma.
   http://www.geany.org
Empezamos
   Instalamos Python
       Ubuntu: sudo apt-get install python2.6
       Windows: descargar de python.org la 2.6.4.
   Alta en la forja de rediris.
   Descargamos el proyecto:
       svn checkout https://forja.rediris.es/svn/cusl4-visuse
   Los módulos los tenemos en
    trunk/visuse/modulos
       Añadimos la clase a classes.py
       Escribimos el módulo en Modulo_Nombre.py
Contenido del módulo

   Obtenemos los datos del buscador (usando
    XML, JSON o lo que corresponda).
   Creamos una instancia de la clase por cada
    resultado.
   Creamos una lista de resultados.
   Mostramos la lista en pantalla para comprobar
    que no hay problemas.
Referencias

   Python in 10 minutes.
   Dive into Python.
   Python para todos.
Eso es todo

   ¿Alguna pregunta?




    Imagen de Discoveryschool.com

More Related Content

What's hot

Calse 3 JAVA 2012
Calse 3 JAVA 2012Calse 3 JAVA 2012
Calse 3 JAVA 2012
José Braganza
 
Python (ejercicios)
Python (ejercicios)Python (ejercicios)
Python (ejercicios)
Fernando Salamero
 
Programacion Netlogo
Programacion NetlogoProgramacion Netlogo
Programacion Netlogo
May Alejandra Montalván
 
Palabras reservadas en java y tipos de datos en java
Palabras reservadas en java y tipos de datos en javaPalabras reservadas en java y tipos de datos en java
Palabras reservadas en java y tipos de datos en java
jose manuel plata cabello
 
Introducción a scala
Introducción a scalaIntroducción a scala
Introducción a scala
Paradigma Digital
 
Comandos de java
Comandos de javaComandos de java
Comandos de java
Marthaa Hdz
 
Clase 4 JAVA 2012
Clase 4 JAVA 2012Clase 4 JAVA 2012
Clase 4 JAVA 2012
José Braganza
 
Semana 1 Estructuras de Datos en Java
Semana 1   Estructuras de Datos en JavaSemana 1   Estructuras de Datos en Java
Semana 1 Estructuras de Datos en Java
Richard Eliseo Mendoza Gafaro
 
Tutorial de php
Tutorial de phpTutorial de php
Tutorial de php
Robert Rodriguez
 
Python básico I
Python básico IPython básico I
Python básico I
Fernando Salamero
 
Python básico II
Python básico IIPython básico II
Python básico II
Fernando Salamero
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
alexis ibarra
 
Python 4
Python 4Python 4
Clase 4/4 Curso Introducción a Python 2012
Clase 4/4 Curso Introducción a Python 2012Clase 4/4 Curso Introducción a Python 2012
Clase 4/4 Curso Introducción a Python 2012
Nahuel Defossé
 
Semana 6 Módulos en Python Entrega 2
Semana 6   Módulos en Python Entrega 2Semana 6   Módulos en Python Entrega 2
Semana 6 Módulos en Python Entrega 2
Richard Eliseo Mendoza Gafaro
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
Jose Emilio Labra Gayo
 
Clase 1 Curso Introducción a Python 2012
Clase 1 Curso Introducción a Python 2012Clase 1 Curso Introducción a Python 2012
Clase 1 Curso Introducción a Python 2012
Nahuel Defossé
 
Semana 1 Estructuras de Control en Java
Semana 1   Estructuras de Control en JavaSemana 1   Estructuras de Control en Java
Semana 1 Estructuras de Control en Java
Richard Eliseo Mendoza Gafaro
 
Python06
Python06Python06
Python06
Victor Pando
 

What's hot (19)

Calse 3 JAVA 2012
Calse 3 JAVA 2012Calse 3 JAVA 2012
Calse 3 JAVA 2012
 
Python (ejercicios)
Python (ejercicios)Python (ejercicios)
Python (ejercicios)
 
Programacion Netlogo
Programacion NetlogoProgramacion Netlogo
Programacion Netlogo
 
Palabras reservadas en java y tipos de datos en java
Palabras reservadas en java y tipos de datos en javaPalabras reservadas en java y tipos de datos en java
Palabras reservadas en java y tipos de datos en java
 
Introducción a scala
Introducción a scalaIntroducción a scala
Introducción a scala
 
Comandos de java
Comandos de javaComandos de java
Comandos de java
 
Clase 4 JAVA 2012
Clase 4 JAVA 2012Clase 4 JAVA 2012
Clase 4 JAVA 2012
 
Semana 1 Estructuras de Datos en Java
Semana 1   Estructuras de Datos en JavaSemana 1   Estructuras de Datos en Java
Semana 1 Estructuras de Datos en Java
 
Tutorial de php
Tutorial de phpTutorial de php
Tutorial de php
 
Python básico I
Python básico IPython básico I
Python básico I
 
Python básico II
Python básico IIPython básico II
Python básico II
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
Python 4
Python 4Python 4
Python 4
 
Clase 4/4 Curso Introducción a Python 2012
Clase 4/4 Curso Introducción a Python 2012Clase 4/4 Curso Introducción a Python 2012
Clase 4/4 Curso Introducción a Python 2012
 
Semana 6 Módulos en Python Entrega 2
Semana 6   Módulos en Python Entrega 2Semana 6   Módulos en Python Entrega 2
Semana 6 Módulos en Python Entrega 2
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
 
Clase 1 Curso Introducción a Python 2012
Clase 1 Curso Introducción a Python 2012Clase 1 Curso Introducción a Python 2012
Clase 1 Curso Introducción a Python 2012
 
Semana 1 Estructuras de Control en Java
Semana 1   Estructuras de Control en JavaSemana 1   Estructuras de Control en Java
Semana 1 Estructuras de Control en Java
 
Python06
Python06Python06
Python06
 

Viewers also liked

Escuelas generadoras de vida comunitaria
Escuelas generadoras de vida comunitariaEscuelas generadoras de vida comunitaria
Escuelas generadoras de vida comunitaria
JUAN CARLOS GONZALEZ SANCHEZ
 
High school e portfolio
High school e portfolioHigh school e portfolio
High school e portfolio
gokicchi
 
Derechos124e55
Derechos124e55Derechos124e55
Derechos124e55
Alan Gomez
 
Awkward - San Cisco
Awkward - San CiscoAwkward - San Cisco
Awkward - San Cisco
KidVox
 
11.11.10 romans
11.11.10 romans11.11.10 romans
11.11.10 romans
Laura Adams
 
Calidad esta en el proceso
Calidad esta en el procesoCalidad esta en el proceso
Calidad esta en el proceso
CARMEN CHAVEZ MALAVER
 
Cmgt 445 entire course
Cmgt 445 entire courseCmgt 445 entire course
Cmgt 445 entire course
youvsignedio
 
Internet del futuro
Internet del futuroInternet del futuro
Internet del futuro
Karito Pintag
 
Qué hago....-
 Qué hago....- Qué hago....-
Qué hago....-
Simón Garcia Carrillo
 
Estrategia de motivacion opd iv
Estrategia de motivacion opd ivEstrategia de motivacion opd iv
Estrategia de motivacion opd iv
juanpotreros
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Flávio Ribeiro
 
Positively
PositivelyPositively
Positively
Anna Saraceno
 
Evaluation Question 4
Evaluation Question 4Evaluation Question 4
Evaluation Question 4
BlurredMotionPictures
 
Современные формы доступа к электронным информационным ресурсам в библиотеках
Современные формы доступа к электронным информационным ресурсам в библиотекахСовременные формы доступа к электронным информационным ресурсам в библиотеках
Современные формы доступа к электронным информационным ресурсам в библиотеках
bntulibrary
 
12.01.2010 revelation
12.01.2010 revelation12.01.2010 revelation
12.01.2010 revelation
Laura Adams
 
Ein_Platz_genannt_Erde_730
Ein_Platz_genannt_Erde_730Ein_Platz_genannt_Erde_730
Ein_Platz_genannt_Erde_730
Guido Göbel
 
Poo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iiPoo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iisamuelthiago
 
Cap2b
Cap2bCap2b
чуй гласа на дивите животни
чуй гласа на дивите животничуй гласа на дивите животни
чуй гласа на дивите животниguesteab4c9
 

Viewers also liked (20)

Escuelas generadoras de vida comunitaria
Escuelas generadoras de vida comunitariaEscuelas generadoras de vida comunitaria
Escuelas generadoras de vida comunitaria
 
High school e portfolio
High school e portfolioHigh school e portfolio
High school e portfolio
 
Derechos124e55
Derechos124e55Derechos124e55
Derechos124e55
 
Awkward - San Cisco
Awkward - San CiscoAwkward - San Cisco
Awkward - San Cisco
 
11.11.10 romans
11.11.10 romans11.11.10 romans
11.11.10 romans
 
Calidad esta en el proceso
Calidad esta en el procesoCalidad esta en el proceso
Calidad esta en el proceso
 
Cmgt 445 entire course
Cmgt 445 entire courseCmgt 445 entire course
Cmgt 445 entire course
 
Internet del futuro
Internet del futuroInternet del futuro
Internet del futuro
 
Qué hago....-
 Qué hago....- Qué hago....-
Qué hago....-
 
Estrategia de motivacion opd iv
Estrategia de motivacion opd ivEstrategia de motivacion opd iv
Estrategia de motivacion opd iv
 
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
 
Doc1
Doc1Doc1
Doc1
 
Positively
PositivelyPositively
Positively
 
Evaluation Question 4
Evaluation Question 4Evaluation Question 4
Evaluation Question 4
 
Современные формы доступа к электронным информационным ресурсам в библиотеках
Современные формы доступа к электронным информационным ресурсам в библиотекахСовременные формы доступа к электронным информационным ресурсам в библиотеках
Современные формы доступа к электронным информационным ресурсам в библиотеках
 
12.01.2010 revelation
12.01.2010 revelation12.01.2010 revelation
12.01.2010 revelation
 
Ein_Platz_genannt_Erde_730
Ein_Platz_genannt_Erde_730Ein_Platz_genannt_Erde_730
Ein_Platz_genannt_Erde_730
 
Poo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_iiPoo interacao entre_objetos_blue_j_ii
Poo interacao entre_objetos_blue_j_ii
 
Cap2b
Cap2bCap2b
Cap2b
 
чуй гласа на дивите животни
чуй гласа на дивите животничуй гласа на дивите животни
чуй гласа на дивите животни
 

Similar to Desarrollar un módulo para Visuse

Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
Fco Javier Lucena
 
Aprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación PythonAprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación Python
Cesar Oswaldo Osorio Agualongo
 
Investigacion de Python.pptx
Investigacion de Python.pptxInvestigacion de Python.pptx
Investigacion de Python.pptx
SelTrejo
 
Conceptos básicos de un lenguaje de programación
Conceptos básicos de un lenguaje de programaciónConceptos básicos de un lenguaje de programación
Conceptos básicos de un lenguaje de programación
Edison López Díaz
 
Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)
Videoconferencias UTPL
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
maeusogo
 
Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Java
santosisidrorivera
 
Trabajo de desarrollo de software(java)yanina y yenny
Trabajo de desarrollo de software(java)yanina y yennyTrabajo de desarrollo de software(java)yanina y yenny
Trabajo de desarrollo de software(java)yanina y yenny
yenny isabel cuello moron
 
Shell script
Shell scriptShell script
Shell script
uniminuto
 
Java
JavaJava
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Eudris Cabrera
 
Software para el aprendizaje de la programación EC 2. Presentación 3: Python
 Software para el aprendizaje de la programación EC 2. Presentación 3: Python Software para el aprendizaje de la programación EC 2. Presentación 3: Python
Software para el aprendizaje de la programación EC 2. Presentación 3: Python
UCC_Elearning
 
Presentación appy/pod
Presentación appy/podPresentación appy/pod
Presentación appy/pod
Juan Rodríguez
 
TIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLABTIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLAB
Luis Jaramillo
 
Taller ruby
Taller rubyTaller ruby
Taller ruby
Juan Vazquez Murga
 
Taller Python
Taller PythonTaller Python
Taller Python
YaslinSteicy
 
Lenguaje de Alto Nivel
Lenguaje de Alto NivelLenguaje de Alto Nivel
Lenguaje de Alto Nivel
Videoconferencias UTPL
 
Php basico
Php basicoPhp basico
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
FamiliaAyluardo
 
Manual de Java
Manual de JavaManual de Java
Manual de Java
Jesús Navarro
 

Similar to Desarrollar un módulo para Visuse (20)

Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Aprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación PythonAprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación Python
 
Investigacion de Python.pptx
Investigacion de Python.pptxInvestigacion de Python.pptx
Investigacion de Python.pptx
 
Conceptos básicos de un lenguaje de programación
Conceptos básicos de un lenguaje de programaciónConceptos básicos de un lenguaje de programación
Conceptos básicos de un lenguaje de programación
 
Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)Lenguaje de Alto Nivel (I Bimestre)
Lenguaje de Alto Nivel (I Bimestre)
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Java
 
Trabajo de desarrollo de software(java)yanina y yenny
Trabajo de desarrollo de software(java)yanina y yennyTrabajo de desarrollo de software(java)yanina y yenny
Trabajo de desarrollo de software(java)yanina y yenny
 
Shell script
Shell scriptShell script
Shell script
 
Java
JavaJava
Java
 
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
 
Software para el aprendizaje de la programación EC 2. Presentación 3: Python
 Software para el aprendizaje de la programación EC 2. Presentación 3: Python Software para el aprendizaje de la programación EC 2. Presentación 3: Python
Software para el aprendizaje de la programación EC 2. Presentación 3: Python
 
Presentación appy/pod
Presentación appy/podPresentación appy/pod
Presentación appy/pod
 
TIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLABTIPOS DE DATOS MATLAB
TIPOS DE DATOS MATLAB
 
Taller ruby
Taller rubyTaller ruby
Taller ruby
 
Taller Python
Taller PythonTaller Python
Taller Python
 
Lenguaje de Alto Nivel
Lenguaje de Alto NivelLenguaje de Alto Nivel
Lenguaje de Alto Nivel
 
Php basico
Php basicoPhp basico
Php basico
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
Manual de Java
Manual de JavaManual de Java
Manual de Java
 

More from Jose Luis Lopez Pino

Lessons learnt from applying PyData to GetYourGuide marketing
Lessons learnt from applying PyData to GetYourGuide marketingLessons learnt from applying PyData to GetYourGuide marketing
Lessons learnt from applying PyData to GetYourGuide marketing
Jose Luis Lopez Pino
 
BDS14 Big Data Analytics to the masses
BDS14 Big Data Analytics to the massesBDS14 Big Data Analytics to the masses
BDS14 Big Data Analytics to the masses
Jose Luis Lopez Pino
 
Massive scale analytics with Stratosphere using R
Massive scale analytics with Stratosphere using RMassive scale analytics with Stratosphere using R
Massive scale analytics with Stratosphere using R
Jose Luis Lopez Pino
 
Metadata in Business Intelligence
Metadata in Business IntelligenceMetadata in Business Intelligence
Metadata in Business Intelligence
Jose Luis Lopez Pino
 
Scheduling and sharing resources in Data Clusters
Scheduling and sharing resources in Data ClustersScheduling and sharing resources in Data Clusters
Scheduling and sharing resources in Data Clusters
Jose Luis Lopez Pino
 
Distributed streaming k means
Distributed streaming k meansDistributed streaming k means
Distributed streaming k means
Jose Luis Lopez Pino
 
High level languages for Big Data Analytics (Report)
High level languages for Big Data Analytics (Report)High level languages for Big Data Analytics (Report)
High level languages for Big Data Analytics (Report)
Jose Luis Lopez Pino
 
High-level languages for Big Data Analytics (Presentation)
High-level languages for Big Data Analytics (Presentation)High-level languages for Big Data Analytics (Presentation)
High-level languages for Big Data Analytics (Presentation)
Jose Luis Lopez Pino
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
Jose Luis Lopez Pino
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
Jose Luis Lopez Pino
 
Firefox Vs. Chromium: Guerra de los navegadores libres
Firefox Vs. Chromium: Guerra de los navegadores libresFirefox Vs. Chromium: Guerra de los navegadores libres
Firefox Vs. Chromium: Guerra de los navegadores libres
Jose Luis Lopez Pino
 
Esteganografia
EsteganografiaEsteganografia
Esteganografia
Jose Luis Lopez Pino
 
Presentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De CarreraPresentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De Carrera
Jose Luis Lopez Pino
 
Memoria Proyecto Fin de Carrera
Memoria Proyecto Fin de CarreraMemoria Proyecto Fin de Carrera
Memoria Proyecto Fin de Carrera
Jose Luis Lopez Pino
 
Presentacion CUSL nacional
Presentacion CUSL nacionalPresentacion CUSL nacional
Presentacion CUSL nacional
Jose Luis Lopez Pino
 
Resumen del proyecto Visuse
Resumen del proyecto VisuseResumen del proyecto Visuse
Resumen del proyecto Visuse
Jose Luis Lopez Pino
 
Presentacion cusl granadino
Presentacion cusl granadinoPresentacion cusl granadino
Presentacion cusl granadino
Jose Luis Lopez Pino
 
Como hacer un módulo para Visuse
Como hacer un módulo para VisuseComo hacer un módulo para Visuse
Como hacer un módulo para Visuse
Jose Luis Lopez Pino
 
Visuse: resumen del I Hackathon
Visuse: resumen del I HackathonVisuse: resumen del I Hackathon
Visuse: resumen del I Hackathon
Jose Luis Lopez Pino
 
Presentacion Visuse para el Hachathón
Presentacion Visuse para el HachathónPresentacion Visuse para el Hachathón
Presentacion Visuse para el Hachathón
Jose Luis Lopez Pino
 

More from Jose Luis Lopez Pino (20)

Lessons learnt from applying PyData to GetYourGuide marketing
Lessons learnt from applying PyData to GetYourGuide marketingLessons learnt from applying PyData to GetYourGuide marketing
Lessons learnt from applying PyData to GetYourGuide marketing
 
BDS14 Big Data Analytics to the masses
BDS14 Big Data Analytics to the massesBDS14 Big Data Analytics to the masses
BDS14 Big Data Analytics to the masses
 
Massive scale analytics with Stratosphere using R
Massive scale analytics with Stratosphere using RMassive scale analytics with Stratosphere using R
Massive scale analytics with Stratosphere using R
 
Metadata in Business Intelligence
Metadata in Business IntelligenceMetadata in Business Intelligence
Metadata in Business Intelligence
 
Scheduling and sharing resources in Data Clusters
Scheduling and sharing resources in Data ClustersScheduling and sharing resources in Data Clusters
Scheduling and sharing resources in Data Clusters
 
Distributed streaming k means
Distributed streaming k meansDistributed streaming k means
Distributed streaming k means
 
High level languages for Big Data Analytics (Report)
High level languages for Big Data Analytics (Report)High level languages for Big Data Analytics (Report)
High level languages for Big Data Analytics (Report)
 
High-level languages for Big Data Analytics (Presentation)
High-level languages for Big Data Analytics (Presentation)High-level languages for Big Data Analytics (Presentation)
High-level languages for Big Data Analytics (Presentation)
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 
Firefox Vs. Chromium: Guerra de los navegadores libres
Firefox Vs. Chromium: Guerra de los navegadores libresFirefox Vs. Chromium: Guerra de los navegadores libres
Firefox Vs. Chromium: Guerra de los navegadores libres
 
Esteganografia
EsteganografiaEsteganografia
Esteganografia
 
Presentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De CarreraPresentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De Carrera
 
Memoria Proyecto Fin de Carrera
Memoria Proyecto Fin de CarreraMemoria Proyecto Fin de Carrera
Memoria Proyecto Fin de Carrera
 
Presentacion CUSL nacional
Presentacion CUSL nacionalPresentacion CUSL nacional
Presentacion CUSL nacional
 
Resumen del proyecto Visuse
Resumen del proyecto VisuseResumen del proyecto Visuse
Resumen del proyecto Visuse
 
Presentacion cusl granadino
Presentacion cusl granadinoPresentacion cusl granadino
Presentacion cusl granadino
 
Como hacer un módulo para Visuse
Como hacer un módulo para VisuseComo hacer un módulo para Visuse
Como hacer un módulo para Visuse
 
Visuse: resumen del I Hackathon
Visuse: resumen del I HackathonVisuse: resumen del I Hackathon
Visuse: resumen del I Hackathon
 
Presentacion Visuse para el Hachathón
Presentacion Visuse para el HachathónPresentacion Visuse para el Hachathón
Presentacion Visuse para el Hachathón
 

Recently uploaded

Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .
asrielgamer3421
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdfProjecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Festibity
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 

Recently uploaded (20)

Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdfProjecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
Projecte Iniciativa TIC 2024 SOPRA STERIA. inCV.pdf
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 

Desarrollar un módulo para Visuse

  • 1. Desarrollar un módulo para Visuse José Luis López Pino http://visuse.wordpress.com
  • 2. Python - Propiedades  Es un lenguaje de alto nivel.  Es un lenguaje interpretado (se ejecuta con un intérprete, no se compila).  Es multiparadigma:  Es orientado a objetos.  Es funcional.  Es fácil de aprender.  Es libre.  Es portable.
  • 3. Python - Propiedades  Es dinámicamente tipado (una variable puede tomar valores de distintos tipos).  Es fuertemente tipado (una variable no se puede tratar como si fuese de otro tipo).  Es implícitamente tipado (no hay que declarar las variables que usamos).  Distingue entre mayúsculas y minúsculas.
  • 4. Python - Sintaxis  Las sentencias no necesitan carácter de terminación.  Los bloques son especificados por indentación.  Los comentarios comienzan con # .  Asignamos con =.  Comprobamos la igualdad con ==.  Incrementamos/decrementamos con += y -=.
  • 5. Python – Estructuras de datos  Tenemos listas, tuplas y diccionarios.  Las listas de comportan como vectores de una dimensión.  Los vectores pueden ser de cualquier tipo, incluso puedes mezclar tipos.  El primer elemento es 0 y -1 el último.  Una variable puede apuntar a una función.  El operador : sirve para acceder a rangos de un vector.
  • 6. Python – Cadenas de texto  Se pueden usar con comillas dobles o simples.  Para las cadenas multilinea podemos usamos tres comillas (simples o dobles).  Podemos meter valores dentro de una cadena utilizando el operador %:  >>>print "Name: %snNumber: %snString: %s" % (myclass.name, 3, 3 * "-")  También podemos hacer sustituciones con un diccionario:  >>> print "This %(verb)s a %(noun)s." % {"noun": "test", "verb": "is"}
  • 7. Python – Estructuras de control 1.for number in range(10): 2. if number in (3, 4, 7, 9): 3. Blablabla 4. elif number == 8: 5. bleblebleble 6. else: 7. blibliblibli 8. else: 9. blebleble 10.while loquesea == 1: 11. print "Fantástico"
  • 8. Python - Funciones  Se declaran con “def” keyword.  Los parámetros se pasan por referencia.  Sin embargo, los tipos inmutables (tuplas, enteros, cadenas, etc) no pueden ser cambiados.  Podemos especificar parámetros opcionales asignándoles un valor por defecto. # Soy un comentario def soy_una_funcion(lista, entero=2, cadena='por defecto'): lista.append(cadena)
  • 9. Python - Clases  Admite herencia múltiple. class MyClass: common = 10 def __init__(self): self.myvariable = 3 def myfunction(self, arg1, arg2): return self.myvariable # This is the class instantiation >>> classinstance = MyClass() >>> classinstance.myfunction(1, 2)
  • 10. Python - Excepciones def some_function(): try: # Division by zero raises an exception 10 / 0 except ZeroDivisionError: print "Oops, invalid." else: # Exception didn't occur, we're good. pass finally: # This is executed after the code block is run # and all exceptions have been handled, even # if a new exception is raised while handling. print "We're done with that."
  • 11. Python – Importar  Importar una biblioteca:  import libreria  Importar una función concreta:  from libreria import funcion
  • 12. ¿Qué necesitamos para trabajar?  Geany: un editor para Python.  Subversion: sistema de control de versiones.  Python ~2.6.2.  Elegir un buscador.
  • 13. Geany  IDE ligero o editor con las funciones básicas de un IDE.  Multiplataforma.  http://www.geany.org
  • 14. Empezamos  Instalamos Python  Ubuntu: sudo apt-get install python2.6  Windows: descargar de python.org la 2.6.4.  Alta en la forja de rediris.  Descargamos el proyecto:  svn checkout https://forja.rediris.es/svn/cusl4-visuse  Los módulos los tenemos en trunk/visuse/modulos  Añadimos la clase a classes.py  Escribimos el módulo en Modulo_Nombre.py
  • 15. Contenido del módulo  Obtenemos los datos del buscador (usando XML, JSON o lo que corresponda).  Creamos una instancia de la clase por cada resultado.  Creamos una lista de resultados.  Mostramos la lista en pantalla para comprobar que no hay problemas.
  • 16. Referencias  Python in 10 minutes.  Dive into Python.  Python para todos.
  • 17. Eso es todo  ¿Alguna pregunta? Imagen de Discoveryschool.com