Desarrollar un módulo para Visuse

17
Desarrollar un módulo para Visuse José Luis López Pino http://visuse.wordpress.com

description

Updated slideshow: http://www.slideshare.net/jlpino/como-hacer-un-mdulo Más información sobre el proyecto en: http://visuse.wordpress.com

Transcript of Desarrollar un módulo para Visuse

Page 1: Desarrollar un módulo para Visuse

Desarrollar un módulo para Visuse

José Luis López Pino

http://visuse.wordpress.com

Page 2: Desarrollar un módulo para Visuse

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.

Page 3: Desarrollar un módulo para Visuse

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.

Page 4: Desarrollar un módulo para Visuse

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 -=.

Page 5: Desarrollar un módulo para Visuse

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.

Page 6: Desarrollar un módulo para Visuse

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: %s\nNumber: %s\nString: %s" %

(myclass.name, 3, 3 * "-")

También podemos hacer sustituciones con un diccionario: >>> print "This %(verb)s a %(noun)s." % {"noun":

"test", "verb": "is"}

Page 7: Desarrollar un módulo para Visuse

Python – Estructuras de control

1.for number in range(10):2. if number in (3, 4, 7, 9):3. Blablabla4. elif number == 8:5. bleblebleble6. else:7. blibliblibli8. else:9. blebleble10.while loquesea == 1:11. print "Fantástico"

Page 8: Desarrollar un módulo para Visuse

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 comentariodef soy_una_funcion(lista, entero=2, cadena='por defecto'): lista.append(cadena)

Page 9: Desarrollar un módulo para Visuse

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)

Page 10: Desarrollar un módulo para Visuse

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."

Page 11: Desarrollar un módulo para Visuse

Python – Importar

Importar una biblioteca: import libreria

Importar una función concreta: from libreria import funcion

Page 12: Desarrollar un módulo para Visuse

¿Qué necesitamos para trabajar?

Geany: un editor para Python. Subversion: sistema de control de versiones. Python ~2.6.2. Elegir un buscador.

Page 13: Desarrollar un módulo para Visuse

Geany

IDE ligero o editor con las funciones básicas de un IDE.

Multiplataforma. http://www.geany.org

Page 14: Desarrollar un módulo para Visuse

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

Page 15: Desarrollar un módulo para Visuse

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.

Page 16: Desarrollar un módulo para Visuse

Referencias

Python in 10 minutes. Dive into Python. Python para todos.

Page 17: Desarrollar un módulo para Visuse

Eso es todo

¿Alguna pregunta?

Imagen de Discoveryschool.com