José Antonio Melero ID 141197 ¿Qué es python? • 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: 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 CARACTERISTICAS Y PARADIGMAS • 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. VENTAJAS Y DESVENTAJAS • Ventajas: 1.Rápido de desarrollar. 2.Sencillez y velocidad. 3.Sus bibliotecas hacen gran parte del trabajo. 4.Soporta varias bases de datos. • Desventajas: 1.Los programas interpretados son más lentos que los compilados. 2. No es tan simple de implantar FILOSOFÍA • Filosofía de UNIX. • El código que sigue los principios de python se dice “pythonico”, contrariamente, el código opaco u ofuscado es bautizado como "no pythonico“. • Bello es mejor que feo. • Explícito es mejor que implícito. • Simple es mejor que complejo. • Complejo es mejor que complicado. • Plano es mejor que anidado. • Ralo es mejor que denso. • La legibilidad cuenta. • Los casos especiales no son tan especiales como para quebrantar las reglas. • Aunque lo práctico gana a la pureza. • Los errores nunca deberían dejarse pasar silenciosamente. • A menos que hayan sido silenciados explícitamente. • ETC… DISEÑO 1 • 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). DISEÑO 2 • 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 DISEÑO 3 • Gestión de memoria dependiente de la implementación. • 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()))... • Funciones lambda. DESARROLLO WEB CON PYTHON • PSP (Python Server Pages) – 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