SlideShare una empresa de 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

Más contenido relacionado

DOCX
02 introduccion a python
ODP
01 el lenguaje Python
PDF
Curso python
DOCX
Palabras reservadas en java
PDF
Manual netlogo basico insisoc
PDF
Ejercicios básicos en Python
PDF
Python para principiantes
PPT
LibreríAs De Java
02 introduccion a python
01 el lenguaje Python
Curso python
Palabras reservadas en java
Manual netlogo basico insisoc
Ejercicios básicos en Python
Python para principiantes
LibreríAs De Java

La actualidad más candente (19)

PPT
Calse 3 JAVA 2012
PDF
Python (ejercicios)
PPT
Programacion Netlogo
PDF
Palabras reservadas en java y tipos de datos en java
PDF
Introducción a scala
DOCX
Comandos de java
PPT
Clase 4 JAVA 2012
PDF
Semana 1 Estructuras de Datos en Java
PDF
Tutorial de php
PDF
Python básico I
PDF
Python básico II
PPTX
Python y la POO, en una clase, UNNe-Corrientes
PDF
Clase 4/4 Curso Introducción a Python 2012
PDF
Semana 6 Módulos en Python Entrega 2
PPTX
Introducción a Scala
PDF
Clase 1 Curso Introducción a Python 2012
PDF
Semana 1 Estructuras de Control en Java
PPT
Python06
Calse 3 JAVA 2012
Python (ejercicios)
Programacion Netlogo
Palabras reservadas en java y tipos de datos en java
Introducción a scala
Comandos de java
Clase 4 JAVA 2012
Semana 1 Estructuras de Datos en Java
Tutorial de php
Python básico I
Python básico II
Python y la POO, en una clase, UNNe-Corrientes
Clase 4/4 Curso Introducción a Python 2012
Semana 6 Módulos en Python Entrega 2
Introducción a Scala
Clase 1 Curso Introducción a Python 2012
Semana 1 Estructuras de Control en Java
Python06
Publicidad

Destacado (20)

PDF
Escuelas generadoras de vida comunitaria
PDF
High school e portfolio
PDF
Derechos124e55
PDF
Awkward - San Cisco
KEY
11.11.10 romans
PPTX
Calidad esta en el proceso
DOC
Cmgt 445 entire course
PDF
Internet del futuro
PDF
Qué hago....-
DOCX
Estrategia de motivacion opd iv
PDF
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
DOCX
PPTX
Positively
PPT
Evaluation Question 4
PPT
Современные формы доступа к электронным информационным ресурсам в библиотеках
KEY
12.01.2010 revelation
PPS
Ein_Platz_genannt_Erde_730
PPTX
Poo interacao entre_objetos_blue_j_ii
PDF
PPT
чуй гласа на дивите животни
Escuelas generadoras de vida comunitaria
High school e portfolio
Derechos124e55
Awkward - San Cisco
11.11.10 romans
Calidad esta en el proceso
Cmgt 445 entire course
Internet del futuro
Qué hago....-
Estrategia de motivacion opd iv
Implementação de Aplicações Móveis e Jogos com Python - Aula 6
Positively
Evaluation Question 4
Современные формы доступа к электронным информационным ресурсам в библиотеках
12.01.2010 revelation
Ein_Platz_genannt_Erde_730
Poo interacao entre_objetos_blue_j_ii
чуй гласа на дивите животни
Publicidad

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

PDF
Clase 1 - Python
PPTX
ODP
python programming learning
PPT
ODP
Introducción a Python
PDF
Programacion orientada a objetos python manuel casado martín - universidad ...
PDF
Programando con Python
ODP
Introducción a la programación en Python
PDF
Presentacion Python
PPTX
Aprendizaje de Lenguaje de Programación Python
PDF
Introduccion a python 3
PDF
Introducción a python
PDF
Introduccion a Python
PDF
Notas Básicas del Lenguaje de Programación Python
ODP
Python básico
PDF
aprendepython.pdf
PDF
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
PPTX
Python-Thonny programación avanzada TESE
Clase 1 - Python
python programming learning
Introducción a Python
Programacion orientada a objetos python manuel casado martín - universidad ...
Programando con Python
Introducción a la programación en Python
Presentacion Python
Aprendizaje de Lenguaje de Programación Python
Introduccion a python 3
Introducción a python
Introduccion a Python
Notas Básicas del Lenguaje de Programación Python
Python básico
aprendepython.pdf
DIAPOSITIVAS CURSO PYTHON.pptx.pdf
Python-Thonny programación avanzada TESE

Más de Jose Luis Lopez Pino (20)

PDF
Lessons learnt from applying PyData to GetYourGuide marketing
PDF
BDS14 Big Data Analytics to the masses
PDF
Massive scale analytics with Stratosphere using R
PDF
Metadata in Business Intelligence
PDF
Scheduling and sharing resources in Data Clusters
PDF
Distributed streaming k means
PDF
High level languages for Big Data Analytics (Report)
PPTX
High-level languages for Big Data Analytics (Presentation)
PDF
RDFa: introduction, comparison with microdata and microformats and how to use it
PDF
RDFa: introduction, comparison with microdata and microformats and how to use it
PDF
Firefox Vs. Chromium: Guerra de los navegadores libres
PDF
Esteganografia
PDF
Presentacion Proyecto Fin De Carrera
PDF
Memoria Proyecto Fin de Carrera
PDF
Presentacion CUSL nacional
PDF
Resumen del proyecto Visuse
PDF
Presentacion cusl granadino
PDF
Como hacer un módulo para Visuse
PDF
Visuse: resumen del I Hackathon
ODP
Presentacion Visuse para el Hachathón
Lessons learnt from applying PyData to GetYourGuide marketing
BDS14 Big Data Analytics to the masses
Massive scale analytics with Stratosphere using R
Metadata in Business Intelligence
Scheduling and sharing resources in Data Clusters
Distributed streaming k means
High level languages for Big Data Analytics (Report)
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 it
Firefox Vs. Chromium: Guerra de los navegadores libres
Esteganografia
Presentacion Proyecto Fin De Carrera
Memoria Proyecto Fin de Carrera
Presentacion CUSL nacional
Resumen del proyecto Visuse
Presentacion cusl granadino
Como hacer un módulo para Visuse
Visuse: resumen del I Hackathon
Presentacion Visuse para el Hachathón

Último (20)

PPTX
Uso responsable de la tecnología - EEST N°1
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PPTX
Formato de texto, párrafo, documentos, columnas periodísticas, referencias.
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PPTX
Presentación final ingenieria de metodos
PDF
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
PDF
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
DOCX
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PDF
Taller tecnológico Michelle lobo Velasquez
PDF
capacitación de aire acondicionado Bgh r 410
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
DOCX
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
PPTX
Reconocimiento-Automatico-de-Placas-Vehiculares-con-IA.pptx
PPT
Protocolos de seguridad y mecanismos encriptación
PDF
Final Tecno .pdfjdhdjsjdhsjshshhshshshhshhhhhhh
Uso responsable de la tecnología - EEST N°1
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
Presentacion de Alba Curso Auditores Internos ISO 19011
Formato de texto, párrafo, documentos, columnas periodísticas, referencias.
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
Presentación final ingenieria de metodos
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
CONTABILIDAD Y TRIBUTACION, EJERCICIO PRACTICO
informe_fichas1y2_corregido.docx (2) (1).pdf
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
TRABAJO DE TECNOLOGIA.pdf...........................
Taller tecnológico Michelle lobo Velasquez
capacitación de aire acondicionado Bgh r 410
Historia Inteligencia Artificial Ana Romero.pptx
Estrategia de Apoyo de Daylin Castaño (5).pdf
TRABAJO GRUPAL (5) (1).docxsjjsjsksksksksk
Reconocimiento-Automatico-de-Placas-Vehiculares-con-IA.pptx
Protocolos de seguridad y mecanismos encriptación
Final Tecno .pdfjdhdjsjdhsjshshhshshshhshhhhhhh

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