Transparencias taller Python
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Transparencias taller Python

  • 611 views
Uploaded on

Transparencias del taller de Python del Martes 15 de Enero de SUGUS en la ETSII

Transparencias del taller de Python del Martes 15 de Enero de SUGUS en la ETSII

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
611
On Slideshare
605
From Embeds
6
Number of Embeds
3

Actions

Shares
Downloads
11
Comments
0
Likes
1

Embeds 6

http://www.linkedin.com 3
https://www.linkedin.com 2
https://twitter.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. #MartesLibresTaller introducción a Python Taller de introducción a Pyth
  • 2. #MartesLibresTaller introducción a Python Víctor Ramírez Sergio Soto @virako @sototan Taller de introducción a Pyth
  • 3. #MartesLibres Índice● Historia y otra información● Características del lenguaje: sintaxis y tipos de datos● Algunos módulos interesantes: argparser, logging,...● Ejemplo de pygtk + glade● Un poco de juego: – PyGame – Panda 3D – OpenCV Taller de introducción a Pyth
  • 4. #MartesLibres Historia de Python● Creado a finales de los 80 por Guido van Rossum● El nombre viene de los humoristas británicos Monty Python● Liberado con licencia Python Software Foundation License Taller de introducción a Pyth
  • 5. #MartesLibres ¿Qué está hecho en Python?● Dropbox● Instagram (Django)● Quora● Muy utilizado en Ámbito científico● ... Más en: http://www.python.org/about/success/ Taller de introducción a Pyth
  • 6. #MartesLibresFilosofía pythonica Taller de introducción a Pyth
  • 7. #MartesLibresFilosofía pythonica Taller de introducción a Pyth
  • 8. #MartesLibres Algunas características● Lenguaje interpretado (script)● Paradigma multiprogramación (orientada a objetos, programación imperativa y programación funcional)● Administración de memoria con conteo de referencias: se cuentan los enlaces a un objeto. PROBLEMA: referencias cíclicas. Taller de introducción a Pyth
  • 9. #MartesLibres Algunas características- Tipado dinámico: la misma variable puede contenervalores de diferentes tipos. Se denomina duck typing. "Cuando veo un ave que camina como un pato, nada como un pato y suena como un pato, a esa ave yo la llamo un pato." Taller de introducción a Pyth
  • 10. #MartesLibres Algunas características● Indentación obligatoria: Taller de introducción a Pyth
  • 11. #MartesLibres Algunas características● Funciones built-in Taller de introducción a Pyth
  • 12. #MartesLibres Sintaxis de Python● Condicional: if/elif/else Taller de introducción a Pyth
  • 13. #MartesLibres Sintaxis de Python● Bucle while Taller de introducción a Pyth
  • 14. #MartesLibres Sintaxis de Python● Bucle for Taller de introducción a Pyth
  • 15. #MartesLibres Sintaxis de Python● Creación de funciones Taller de introducción a Pyth
  • 16. #MartesLibres Tipos de datos en PythonTipos básicos: numéricos● Taller de introducción a Pyth
  • 17. #MartesLibres Tipos de datos en PythonTipos básicos: cadenas● Taller de introducción a Pyth
  • 18. #MartesLibres Tipos de datos en PythonTipos básicos: lógicos● Taller de introducción a Pyth
  • 19. #MartesLibres Tipos de datos en PythonOperaciones aritméticas:● ● Suma + ● Resta - ● Multiplicación * ● División % ● <, >, ==, <=, >==, !=● Operaciones sobre cadenas: ● Concatenar ● A mayúsculas/minúsculas ● Longitud ● …● Operaciones sobre lógicos: ● not , and, or, ... Taller de introducción a Pyth
  • 20. #MartesLibresTipos de datos en Python Taller de introducción a Pyth
  • 21. #MartesLibres Tipos de datos en Python● Tuplas: ( ) Taller de introducción a Pyth
  • 22. #MartesLibres Tipos de datos en Python● Listas: [ ] Taller de introducción a Pyth
  • 23. #MartesLibres Tipos de datos en PythonDiccionarios: { }● Taller de introducción a Pyth
  • 24. #MartesLibres Tipos de datos en PythonTipos definidos por el usuario: class● Taller de introducción a Pyth
  • 25. #MartesLibres Utilidades de Python● PyGtk y Glade: construcción de interfaces gráficas● PEP 8: una guía de estilo● Librerías para desarrollar juegos: ● PyGame ● Panda 3D● Procesamiento de imágenes: ● OpenCV● RunSnakeRun: una herramienta para hacer profiling Taller de introducción a Pyth
  • 26. #MartesLibres Pygtk y GladeGTK (GIMP Toolkit ) son bibliotectas multiplataforma para desarrollar interfaces gráficasde usuario. Principalmente para los entornos gráficos GNOME, XFCE y ROX aunquetambién se puede usar en el escritorio de Windows, Mac OS y otros.Existen librerías para usar GTK en con un gran número delenguajes como C, C++, C#, Java, Ruby, Perl, PHP o Python. Taller de introducción a Pyth
  • 27. #MartesLibres Pygtk y GladeGlade (o Glade Interface Designer) es una herramientade desarrollo visual de interfaces gráficas mediante GTK/GNOME.GtkBuilder es un formato XML que Glade usa para almacenar los elementos de lasinterfaces diseñadas. Estos archivos pueden emplearse para construirla en tiempo deejecución mediante el objeto GtkBuilder de GTK+. GladeXML era el formato que se usabaen conjunto con la biblioteca libglade (ambos obsoletos en favor de GtkBuilder).Documentación y web del proyecto:● http://developer.gnome.org/gladeui/3.6/● http://glade.gnome.org Taller de introducción a Pyth
  • 28. #MartesLibresPygtk y GladeTaller de introducción a Pyth
  • 29. #MartesLibres PEP 8Es una guía de estilo para python: http://www.python.org/dev/peps/pep-0008/Algunas de estas normas más interesantes:● False: tuple = (); list = []; dic = {}; str = “”; int = 0; float = 0.0● YES: if seq: if boolean: if isinstanceof(obj, int): NO: if len(seq): if boolean == True: if type(obj) == type(1):● Límite de línea de 79 caracteres.* Python Enhancement Proposal Taller de introducción a Pyth
  • 30. #MartesLibres PyGame● Instalación: ● sudo apt-get install python-pygame● Enlace a la documentación: http://www.pygame.org/docs/● Tutoriales: http://www.pygame.org/wiki/tutorials● Ejemplo: Pixwar by danigm. Código: http://git.danigm.net/gitphp/index.php?p=pixwar.git&a=summary Taller de introducción a Pyth
  • 31. #MartesLibres Panda 3DEs un motor de videojuegos que incluyegráficos, audio, E/S, detección de colisiones,así como otras características relevantespara la creación de juegos en 3D.http://www.panda3d.org/ Taller de introducción a Pyth
  • 32. #MartesLibres Panda 3D● Instalación: http://www.panda3d.org/download.php?sdk&version=1.8.0● Enlace a la documentación: http://www.panda3d.org/reference/1.8.0/python/annotated● Manual: http://www.panda3d.org/manual/index.php/Main_Page● Ejemplos: Roaming Ralph. Código: viene por defecto cuando instalamos panda3d Taller de introducción a Pyth
  • 33. #MartesLibres Panda 3DTaller de introducción a Pyth
  • 34. #MartesLibres OpenCV Biblioteca de visión artificial que surgió en 1999. Ha sido utilizado en aplicaciones para detectar movimiento hasta reconocimiento de objetos. Proporciona un entorno de desarrollo fácil de utilizar y muy eficiente dado que ha sido programado en C y C++. http://opencv.org/ http://opencv.willowgarage.com/wiki/Taller de introducción a Pyth
  • 35. #MartesLibres Open CV● Instalación: ● sudo apt-get install python-opencv● Documentación: http://docs.opencv.org/index.html● Ejemplo: Rocamgo by Victor Ramirez y David Medina (PFC) + colaboradores. Código: https://github.com/Virako/Rocamgo-ng Taller de introducción a Pyth
  • 36. #MartesLibres RunSnakeRunHerramienta gráfica para lectura sencilla de profiling (análisisde rendimiento del software).Para instalar: sudo apt-get install runsnakerun Taller de introducción a Pyth
  • 37. #MartesLibresRunSnakeRunTaller de introducción a Pyth
  • 38. #MartesLibres Gracias por asistirTodo el material (presentación y código) se colgará próximamente en la web de SUGUS: http://sugus.eii.us.es Taller de introducción a Pyth
  • 39. #MartesLibres ¿Dudas?Taller de introducción a Pyth