Presentación Python

28
DANIELA MIRANDA JEISON PACATEQUE

description

Python, software engineering, programming, languages, presentation, intro,

Transcript of Presentación Python

  • DANIELA MIRANDA

    JEISON PACATEQUE

  • Datos histricos. Filosofa. Caracatersticas Sintaxis y semntica. Aplicaciones. Ventajas y desventajas.

    AGENDA

  • Guido van Rossum, creador de Python.

    Creado a finales de los 80s en el Centro para las Matemticas y la Informtica (C.W.I., Centrum voor Wiskunde en Informatica).

    Sucesor del Lenguaje de programacin ABC.

    Python alcanz la versin 1.0 en enero de 1994

    Python 2.0 fue publicado el 16 de Octubre del 2.000. Aadiendo, Recolector de Basura y soporte para Unicode.

    En el 2001 se fund la a Python Software Foundation (PSF).

    Python 3.0, fue liberado el 3 de Diciembre de 2008.

    DATOS HISTRICOS

  • FILOSOFA Bello es mejor que feo. Explcito es mejor que implcito. Simple es mejor que complejo. Complejo es mejor que complicado. Plano es mejor que anidado. Disperso es mejor que denso. La legibilidad cuenta. Los casos especiales no son tan

    especiales como para quebrantar las reglas.

    Aunque lo prctico gana a la pureza. Los errores nunca deberan dejarse

    pasar silenciosamente. A menos que hayan sido silenciados

    explcitamente. Frente a la ambigedad, rechaza la

    tentacin de adivinar.

    Debera haber una -y preferiblemente slo una- manera obvia de hacerlo.

    Aunque esa manera puede no ser obvia al principio a menos que usted sea holands.

    Ahora es mejor que nunca. Aunque nunca es a menudo mejor que

    ya mismo. Si la implementacin es difcil de

    explicar, es una mala idea. Si la implementacin es fcil de explicar,

    puede que sea una buena idea. Los espacios de nombres (namespaces)

    son una gran idea Hagamos ms de esas cosas!

  • CARACTERSTICAS

    Lenguaje de Alto Nivel.

    Lenguaje Interpretado.

    Multiparadigma.

    Estructurada.

    Orientada a Objetos.

    Imperativa.

    Funcional.

    Tipado Dinmico.

    Fuertemente tipado.

    Multiplataforma.

    Extendible

  • Lenguaje Interpretado

    Lenguaje Compilado

    Imgenes tomadas de How to Think Like a Computer Scientist: Learning with Python, Jeffrey Elkner,

    Allen B. Downey, and Chris Meyers, 2da Edicin, 2012.

  • TIPADO DINMICO

  • FUERTEMENTE TIPADO

  • MULTIPLATAFORMA

  • Numricos

    Enteros

    Reales (coma flotante)

    Complejos

    Cadenas de texto

    Booleanos

    TIPOS DE VARIABLES Y DATOS

    BSICOS

  • Tipos de Datos y Variables

    Control de Flujo

    Operadores

    Funciones

    Orientacin a Objetos

    SINTAXIS Y SEMNTICA

  • Ejemplo en C Ejemplo en Python

    Imgenes tomadas de http://en.wikipedia.org/wiki/Python_%28programming_language%29

    CONTROL DE FLUJO CONDICIONAL

    Y USO DE LA INDENTACIN

  • CONDICIONALES

    Contraccin elif

    En python no existe el

    switch

    Imgenes tomadas de Python para Todos, Ral Gonzlez Duque.

  • Bucle While

    Imgenes tomadas de How to Think Like a Computer Scientist: Learning with Python, Jeffrey Elkner,

    Allen B. Downey, and Chris Meyers, 2da Edicin, 2012. Y de Python para Todos, Ral Gonzlez Duque.

    Bucle For

    Palabra clave continue

    CONTROL DE FLUJO BUCLES

    Funcin range

  • COLECCIONES

    Imgenes tomadas de How to Think Like a Computer Scientist: Learning with Python, Jeffrey Elkner,

    Allen B. Downey, and Chris Meyers, 2da Edicin, 2012. Y de Python para Todos, Ral Gonzlez Duque.

  • Imgenes tomadas de Python para Todos, Ral Gonzlez Duque.

    OPERADORES

  • Imagen tomadas de Python para Todos, Ral Gonzlez Duque.

    En Python no existen los procedimientos

    FUNCIONES

  • Imgenes tomadas de Python para Todos, Ral Gonzlez Duque.

    Clases y Objetos

    Herencia

    Polimorfismo

    Encapsulacin

    ORIENTACIN A OBJETOS

  • CLASES Y OBJETOS

    Imgenes tomadas de How to Think Like a Computer Scientist: Learning with Python, Jeffrey Elkner,

    Allen B. Downey, and Chris Meyers, 2da Edicin, 2012. Y de Python para Todos, Ral Gonzlez Duque.

    Cada clase debe tener un mtodo con el nombre especial de __init__ (Constructor)

    Todo mtodo definido en una clase que opera sobre objetos de esa clase tendr self como su primer parmetro.

  • HERENCIA

    Para indicar que una clase hereda de otra se coloca el nombre de la clase de la que se hereda entre parntesis despus del nombre de la clase:

    para llamar al mtodo __init__ de Instrumento desde Guitarra usaramos

    Instrumento.__init__(self, precio)

  • HERENCIA MLTIPLE

  • POLIMORFISMO

    Python, al ser de tipado dinmico, no impone restricciones a los tipos que se le pueden pasar a una funcin, por ejemplo, ms all de que el objeto se comporte como se espera: si se va a llamar a un mtodo f() del objeto pasado como parmetro, por ejemplo, evidentemente el objeto tendr que contar con ese mtodo. Por ese motivo, a diferencia de lenguajes de tipado esttico como Java o C++, el polimorfismo en Python no es de gran importancia. En Python no existe sobrecarga de mtodos (el ltimo mtodo sobrescribira la implementacin de los anteriores

  • ENCAPSULACIN

    En Python no existen los modificadores de acceso, y lo que se suele hacer es que el acceso a una variable o funcin viene determinado por su nombre

  • Desarrollo Web

    mbito Cientfico y Numrico

    APLICACIONES

    Juegos y Grficos 3D

    Desarrollo de Software

  • VENTAJAS Y DESVENTAJAS

    Flexible y portable

    Desarrollo ms

    rpido(Escribir un

    programa, salvarlo y

    ejecutarlo)

    Multiplataforma

    De uso libre

    Ejecucin ms lenta

  • How to Think Like a Computer Scientist: Learning with Python , Jeffrey Elkner, Allen B. Downey, and Chris Meyers, 2da Edicin, 2012.

    Disponible en Lnea en:

    http://www.openbookproject.net/thinkcs/python/english2e/

    (visto el 9 de Septiembre de 2012)

    Python Para Todos, Ral Gonzlez Duque Disponible en Lnea en:

    http://mundogeek.net/tutorial-python/

    (Visto el 9 de Septiembre de 2012)

    http://en.wikipedia.org/wiki/Python_%28programming_language%29

    http://www.python.org/

    BIBLIOGRAFA Y REFERENCIAS

    ELECTRNICAS