Celia Clemente Castillo Lara Fajardo Ibáñez Valentín Cruz

Anuncio
Celia Clemente Castillo
Lara Fajardo Ibáñez
Valentín Cruz Rodríguez
Amanda Garci Núñez
Software de
Comunicaciones
2007-2008
1
Introducción
• Python es un lenguaje de programación
dinámico y orientado a objetos.
• El principal objetivo que persigue este
lenguaje es la facilidad, tanto de lectura,
como de diseño.
• Es de libre distribución
• Python se usa en grandes plataformas como:
Software de
Comunicaciones
2007-2008
2
Un poco de historia
• Fue creado por Guido van Rossum en el año
1990.
• Surgió como un sucesor del lenguaje de
programación ABC, capaz de manejar
excepciones e interactuar con el SO Amoeba.
• Monty Python
Software de
Comunicaciones
2007-2008
3
Características
• Python es un lenguaje de programación
multiparadigma,
permite
varios
estilos:
programación orientada a objetos, programación
estructural y funcional.
• Python se desarrolla como un proyecto de
código abierto, administrado por la Python
Software Foundation.
• Gran soporte e integración con otros lenguajes
y herramientas.
• Tiene integradas varias bibliotecas estándar.
Software de
Comunicaciones
2007-2008
4
Ventajas y Desventajas
• Ventajas:
• Rápido de desarrollar.
• Sencillez y velocidad.
• Sus bibliotecas hacen gran parte del
trabajo.
• Soporta varias bases de datos.
• Desventajas:
• Los programas interpretados son más
lentos que los compilados.
Software de
Comunicaciones
2007-2008
5
Cuestiones de Diseño (I)
• Declaraciones indentadas (no {}).
• Utilización de “:” para las estructuras
if/while/def/class (claridad en la lectura).
• Cálculos en punto flotante.
• Variables inmutables (strings, tuplas, números
y None).
Software de
Comunicaciones
2007-2008
6
Cuestiones de Diseño (II)
Cue
• Para emular hilos se requiere soporte para C.
(Stackless Python).
• Python puede ser compilado en otros lenguajes
(Jython → Java).
• Listas y tuplas (mutables e inmutables)
• No hay estructuras goto.
• Bloques de excepciones rápidos y eficientes.
• No existen switch ni case → estructruras if...else
if...else
Software de
Comunicaciones
2007-2008
7
Cuestiones de Diseño (III)
• Gestión de memoria
implementación.
dependiente
de
la
• Periódicamente se ejecutan algoritmos de
detección de bucles inaccesibles para borrar los
objetos involucrados.
• Diccionarios implementados como tablas hash.
• No se pueden emplear asignaciones en las
expresiones (p.e. while(line = readline()))...
Software de
Comunicaciones
2007-2008
• Funciones lambda.
8
Uso de Python
• Fuente: http://www.python.org/download
• Documentación: http://www.python.org/doc
Ejemplos:
Software de
Comunicaciones
2007-2008
9
Entornos de Desarrollo
• Editores de texto
• Emacs
• VIM
• SciTE
• IDEs
• IDLE
• Eric
• Eclipse y PyDev
Software de
Comunicaciones
2007-2008
• IPython
10
Desarrollo Web con Python (I)
• PSP (Python Server Pages)
Software de
Comunicaciones
2007-2008
– Páginas Web Dinámicas
– Estructura similar a JSP
– Tiene cuatro tipo de entidades:
• Código: <% … %>
• Expresión: <%= … %>
• Directivas: <%@ … %>
• Comentrarios: <%-- … --%>
– Los archivos .psp pueden alojarse en un
servidor Web o en uno de aplicaciones
11
Desarrollo Web con Python (II)
• Webware
– Es un framework de desarrollo para
aplicaciones web Python.
– Posee un servidor de aplicaciones similar a
Tomcat, pero escrito y pensado en Python
– Sus funcionalidades se dividen en módulos:
•
•
•
•
Software de
Comunicaciones
2007-2008
WebKit
Python Server Pages Kit
MiddleKit
UserKit
12
Desarrollo Web con Python (III)
• MVC con Webware
Software de
Comunicaciones
2007-2008
13
¿Preguntas?
Software de
Comunicaciones
2007-2008
14
Descargar