SlideShare une entreprise Scribd 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

Contenu connexe

Tendances (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
 

En vedette

High school e portfolio
High school e portfolioHigh school e portfolio
High school e portfoliogokicchi
 
Derechos124e55
Derechos124e55Derechos124e55
Derechos124e55Alan Gomez
 
Awkward - San Cisco
Awkward - San CiscoAwkward - San Cisco
Awkward - San CiscoKidVox
 
Cmgt 445 entire course
Cmgt 445 entire courseCmgt 445 entire course
Cmgt 445 entire courseyouvsignedio
 
Estrategia de motivacion opd iv
Estrategia de motivacion opd ivEstrategia de motivacion opd iv
Estrategia de motivacion opd ivjuanpotreros
 
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 6Flávio Ribeiro
 
Современные формы доступа к электронным информационным ресурсам в библиотеках
Современные формы доступа к электронным информационным ресурсам в библиотекахСовременные формы доступа к электронным информационным ресурсам в библиотеках
Современные формы доступа к электронным информационным ресурсам в библиотекахbntulibrary
 
12.01.2010 revelation
12.01.2010 revelation12.01.2010 revelation
12.01.2010 revelationLaura Adams
 
Ein_Platz_genannt_Erde_730
Ein_Platz_genannt_Erde_730Ein_Platz_genannt_Erde_730
Ein_Platz_genannt_Erde_730Guido 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
 
чуй гласа на дивите животни
чуй гласа на дивите животничуй гласа на дивите животни
чуй гласа на дивите животниguesteab4c9
 

En vedette (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
 
чуй гласа на дивите животни
чуй гласа на дивите животничуй гласа на дивите животни
чуй гласа на дивите животни
 

Similaire à Desarrollar un módulo para Visuse

Investigacion de Python.pptx
Investigacion de Python.pptxInvestigacion de Python.pptx
Investigacion de Python.pptxSelTrejo
 
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ónEdison López Díaz
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
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 Javasantosisidrorivera
 
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 yennyyenny isabel cuello moron
 
Shell script
Shell scriptShell script
Shell scriptuniminuto
 
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: PythonUCC_Elearning
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxFamiliaAyluardo
 

Similaire à 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
 

Plus de 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 marketingJose 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 massesJose 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 RJose 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 ClustersJose 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 itJose 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 itJose 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 libresJose Luis Lopez Pino
 
Presentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De CarreraPresentacion Proyecto Fin De Carrera
Presentacion Proyecto Fin De CarreraJose 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ónJose Luis Lopez Pino
 

Plus de 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
 

Dernier

Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfjjfch3110
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.saravalentinat22
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerRobertoCarrancioFern
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiegoCampos433849
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfManuelCampos464987
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.sofiasonder
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariaandresingsiseo
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfcj3806354
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Luis Fernando Uribe Villamil
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestrerafaelsalazar0615
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxLeidyfuentes19
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxencinasm992
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdfIsabelHuairaGarma
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024DanielErazoMedina
 

Dernier (20)

Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.Estudio de la geometría analitica. Pptx.
Estudio de la geometría analitica. Pptx.
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
taller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundariataller de tablas en word para estudiantes de secundaria
taller de tablas en word para estudiantes de secundaria
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 

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