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