SlideShare una empresa de Scribd logo
#MartesLibres



Taller introducción a
        Python



    Taller de introducción a Pyth
#MartesLibres
Taller introducción a Python
 Víctor Ramírez       Sergio Soto
 @virako              @sototan




           Taller de introducción a Pyth
#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
#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
#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
#MartesLibres
Filosofía pythonica




  Taller de introducción a Pyth
#MartesLibres
Filosofía pythonica




  Taller de introducción a Pyth
#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
#MartesLibres
        Algunas características
- Tipado dinámico: la misma variable puede contener
valores 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
#MartesLibres
         Algunas características
●   Indentación obligatoria:




                 Taller de introducción a Pyth
#MartesLibres
         Algunas características
●   Funciones built-in




                Taller de introducción a Pyth
#MartesLibres
                   Sintaxis de Python
●   Condicional: if/elif/else




                        Taller de introducción a Pyth
#MartesLibres
              Sintaxis de Python
●   Bucle while




                  Taller de introducción a Pyth
#MartesLibres
                Sintaxis de Python
●   Bucle for




                 Taller de introducción a Pyth
#MartesLibres
               Sintaxis de Python
●   Creación de funciones




                   Taller de introducción a Pyth
#MartesLibres
    Tipos de datos en Python
Tipos básicos: numéricos
●




                Taller de introducción a Pyth
#MartesLibres
    Tipos de datos en Python
Tipos básicos: cadenas
●




                Taller de introducción a Pyth
#MartesLibres
    Tipos de datos en Python
Tipos básicos: lógicos
●




                 Taller de introducción a Pyth
#MartesLibres
       Tipos de datos en Python
Operaciones 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
#MartesLibres
Tipos de datos en Python




     Taller de introducción a Pyth
#MartesLibres
     Tipos de datos en Python
●   Tuplas: ( )




            Taller de introducción a Pyth
#MartesLibres
     Tipos de datos en Python
●   Listas: [ ]




             Taller de introducción a Pyth
#MartesLibres
    Tipos de datos en Python
Diccionarios: { }
●




         Taller de introducción a Pyth
#MartesLibres
    Tipos de datos en Python
Tipos definidos por el usuario: class
●




         Taller de introducción a Pyth
#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
#MartesLibres
                          Pygtk y Glade

GTK (GIMP Toolkit ) son bibliotectas multiplataforma para desarrollar interfaces gráficas
de usuario. Principalmente para los entornos gráficos GNOME, XFCE y ROX aunque
tambié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 de
lenguajes como C, C++, C#, Java, Ruby, Perl, PHP o Python.




                         Taller de introducción a Pyth
#MartesLibres
                        Pygtk y Glade

Glade (o Glade Interface Designer) es una herramienta
de desarrollo visual de interfaces gráficas mediante GTK/GNOME.

GtkBuilder es un formato XML que Glade usa para almacenar los elementos de las
interfaces diseñadas. Estos archivos pueden emplearse para construirla en tiempo de
ejecución mediante el objeto GtkBuilder de GTK+. GladeXML era el formato que se usaba
en 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
#MartesLibres
Pygtk y Glade




Taller de introducción a Pyth
#MartesLibres
                                     PEP 8
Es 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
#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
#MartesLibres
                               Panda 3D

Es un motor de videojuegos que incluye
gráficos, audio, E/S, detección de colisiones,
así como otras características relevantes
para la creación de juegos en 3D.


http://www.panda3d.org/




                         Taller de introducción a Pyth
#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
#MartesLibres
  Panda 3D




Taller de introducción a Pyth
#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
#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
#MartesLibres
                  RunSnakeRun

Herramienta gráfica para lectura sencilla de profiling (análisis
de rendimiento del software).

Para instalar:

         sudo apt-get install runsnakerun




                 Taller de introducción a Pyth
#MartesLibres
RunSnakeRun




Taller de introducción a Pyth
#MartesLibres

      Gracias por asistir

Todo 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
#MartesLibres
   ¿Dudas?




Taller de introducción a Pyth

Más contenido relacionado

La actualidad más candente

Python para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlabPython para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlabSistemadeEstudiosMed
 
Primeros pasos con Python: Manipulando imágenes ⟷
Primeros pasos con Python: Manipulando imágenes ⟷Primeros pasos con Python: Manipulando imágenes ⟷
Primeros pasos con Python: Manipulando imágenes ⟷Rodolfo Ferro
 
Programacion orientada a objetos python manuel casado martín - universidad ...
Programacion orientada a objetos python   manuel casado martín - universidad ...Programacion orientada a objetos python   manuel casado martín - universidad ...
Programacion orientada a objetos python manuel casado martín - universidad ...Wilson Bautista
 
Manual de python
Manual de pythonManual de python
Manual de pythonULEAM
 
Python 101 breve introducción al lenguaje python
Python 101  breve introducción al lenguaje pythonPython 101  breve introducción al lenguaje python
Python 101 breve introducción al lenguaje pythonemilioferreyra
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientesalexis ibarra
 
Lenguaje de programación Python
Lenguaje de programación PythonLenguaje de programación Python
Lenguaje de programación PythonKareliaRivas
 
Curso: Iniciación a la robótica con RaspberryPi y ROS (Info)
Curso: Iniciación a la robótica con RaspberryPi y ROS (Info)Curso: Iniciación a la robótica con RaspberryPi y ROS (Info)
Curso: Iniciación a la robótica con RaspberryPi y ROS (Info)Bernardo Ronquillo Japón
 
Sesión 1: Python
Sesión 1: PythonSesión 1: Python
Sesión 1: Pythonmaluacsa
 

La actualidad más candente (17)

Python para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlabPython para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlab
 
Unidad V Tutorial de Python
Unidad V Tutorial de PythonUnidad V Tutorial de Python
Unidad V Tutorial de Python
 
Primeros pasos con Python: Manipulando imágenes ⟷
Primeros pasos con Python: Manipulando imágenes ⟷Primeros pasos con Python: Manipulando imágenes ⟷
Primeros pasos con Python: Manipulando imágenes ⟷
 
Instalación python
Instalación pythonInstalación python
Instalación python
 
Python para todos
Python para todosPython para todos
Python para todos
 
Curso python
Curso pythonCurso python
Curso python
 
Eventos intropython
Eventos intropythonEventos intropython
Eventos intropython
 
Programacion orientada a objetos python manuel casado martín - universidad ...
Programacion orientada a objetos python   manuel casado martín - universidad ...Programacion orientada a objetos python   manuel casado martín - universidad ...
Programacion orientada a objetos python manuel casado martín - universidad ...
 
Paralela10
Paralela10Paralela10
Paralela10
 
Introducción a python
Introducción a pythonIntroducción a python
Introducción a python
 
Manual de python
Manual de pythonManual de python
Manual de python
 
Python 101 breve introducción al lenguaje python
Python 101  breve introducción al lenguaje pythonPython 101  breve introducción al lenguaje python
Python 101 breve introducción al lenguaje python
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
Lenguaje de programación Python
Lenguaje de programación PythonLenguaje de programación Python
Lenguaje de programación Python
 
Curso: Iniciación a la robótica con RaspberryPi y ROS (Info)
Curso: Iniciación a la robótica con RaspberryPi y ROS (Info)Curso: Iniciación a la robótica con RaspberryPi y ROS (Info)
Curso: Iniciación a la robótica con RaspberryPi y ROS (Info)
 
Sesión 1: Python
Sesión 1: PythonSesión 1: Python
Sesión 1: Python
 
Lenguaje phython
Lenguaje phythonLenguaje phython
Lenguaje phython
 

Destacado

Introduccio a python
Introduccio a pythonIntroduccio a python
Introduccio a pythonSanti Camps
 
Knowing your garbage collector - PyCon Italy 2015
Knowing your garbage collector - PyCon Italy 2015Knowing your garbage collector - PyCon Italy 2015
Knowing your garbage collector - PyCon Italy 2015fcofdezc
 
TDD in the Web with Python and Django
TDD in the Web with Python and DjangoTDD in the Web with Python and Django
TDD in the Web with Python and DjangoCarlos Ble
 
Python Dominicana 059: Django Migrations
Python Dominicana 059: Django MigrationsPython Dominicana 059: Django Migrations
Python Dominicana 059: Django MigrationsRafael Belliard
 
A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...
A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...
A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...Natalia Díaz Rodríguez
 
BDD - Test Academy Barcelona 2017
BDD - Test Academy Barcelona 2017BDD - Test Academy Barcelona 2017
BDD - Test Academy Barcelona 2017Carlos Ble
 
#DataBeers: Inmersive Data Visualization con Oculus Rift
#DataBeers: Inmersive Data Visualization con Oculus Rift#DataBeers: Inmersive Data Visualization con Oculus Rift
#DataBeers: Inmersive Data Visualization con Oculus RiftOutliers Collective
 
Conferencia Big Data en #MenorcaConnecta
Conferencia Big Data en #MenorcaConnectaConferencia Big Data en #MenorcaConnecta
Conferencia Big Data en #MenorcaConnectaSanti Camps
 
El arte oscuro de estimar v3
El arte oscuro de estimar v3El arte oscuro de estimar v3
El arte oscuro de estimar v3Leonardo Soto
 
Knowing your Garbage Collector / Python Madrid
Knowing your Garbage Collector / Python MadridKnowing your Garbage Collector / Python Madrid
Knowing your Garbage Collector / Python Madridfcofdezc
 
STM on PyPy
STM on PyPySTM on PyPy
STM on PyPyfcofdezc
 
Big data amb Cassandra i Celery ##bbmnk
Big data amb Cassandra i Celery ##bbmnkBig data amb Cassandra i Celery ##bbmnk
Big data amb Cassandra i Celery ##bbmnkSanti Camps
 
Volunteering assistance to online geocoding services through a distributed kn...
Volunteering assistance to online geocoding services through a distributed kn...Volunteering assistance to online geocoding services through a distributed kn...
Volunteering assistance to online geocoding services through a distributed kn...José Pablo Gómez Barrón S.
 

Destacado (20)

Introduccio a python
Introduccio a pythonIntroduccio a python
Introduccio a python
 
Knowing your garbage collector - PyCon Italy 2015
Knowing your garbage collector - PyCon Italy 2015Knowing your garbage collector - PyCon Italy 2015
Knowing your garbage collector - PyCon Italy 2015
 
TDD in the Web with Python and Django
TDD in the Web with Python and DjangoTDD in the Web with Python and Django
TDD in the Web with Python and Django
 
Python Dominicana 059: Django Migrations
Python Dominicana 059: Django MigrationsPython Dominicana 059: Django Migrations
Python Dominicana 059: Django Migrations
 
A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...
A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...
A Folksonomy of styles, aka: other stylists also said and Subjective Influenc...
 
The emerging world of mongo db csp
The emerging world of mongo db   cspThe emerging world of mongo db   csp
The emerging world of mongo db csp
 
BDD - Test Academy Barcelona 2017
BDD - Test Academy Barcelona 2017BDD - Test Academy Barcelona 2017
BDD - Test Academy Barcelona 2017
 
#DataBeers: Inmersive Data Visualization con Oculus Rift
#DataBeers: Inmersive Data Visualization con Oculus Rift#DataBeers: Inmersive Data Visualization con Oculus Rift
#DataBeers: Inmersive Data Visualization con Oculus Rift
 
Conferencia Big Data en #MenorcaConnecta
Conferencia Big Data en #MenorcaConnectaConferencia Big Data en #MenorcaConnecta
Conferencia Big Data en #MenorcaConnecta
 
El arte oscuro de estimar v3
El arte oscuro de estimar v3El arte oscuro de estimar v3
El arte oscuro de estimar v3
 
Python and MongoDB
Python and MongoDB Python and MongoDB
Python and MongoDB
 
Knowing your Garbage Collector / Python Madrid
Knowing your Garbage Collector / Python MadridKnowing your Garbage Collector / Python Madrid
Knowing your Garbage Collector / Python Madrid
 
Tidy vews, decorator and presenter
Tidy vews, decorator and presenterTidy vews, decorator and presenter
Tidy vews, decorator and presenter
 
Madrid SPARQL handson
Madrid SPARQL handsonMadrid SPARQL handson
Madrid SPARQL handson
 
STM on PyPy
STM on PyPySTM on PyPy
STM on PyPy
 
Python 101
Python 101Python 101
Python 101
 
Big data amb Cassandra i Celery ##bbmnk
Big data amb Cassandra i Celery ##bbmnkBig data amb Cassandra i Celery ##bbmnk
Big data amb Cassandra i Celery ##bbmnk
 
Zotero
ZoteroZotero
Zotero
 
Volunteering assistance to online geocoding services through a distributed kn...
Volunteering assistance to online geocoding services through a distributed kn...Volunteering assistance to online geocoding services through a distributed kn...
Volunteering assistance to online geocoding services through a distributed kn...
 
10 cosas de rails que deberías saber
10 cosas de rails que deberías saber10 cosas de rails que deberías saber
10 cosas de rails que deberías saber
 

Similar a Transparencias taller Python

Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxjgs07
 
Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015Mariano Reingart
 
Screencast aprende python - parte 1
Screencast   aprende python - parte 1Screencast   aprende python - parte 1
Screencast aprende python - parte 1Noe Nieto
 
¿Cómo aprender Python sin morir en el intento?
¿Cómo aprender Python sin morir en el intento?¿Cómo aprender Python sin morir en el intento?
¿Cómo aprender Python sin morir en el intento?Adolfo Fitoria
 
Machine learning y data science con scikit learn y pyspark
Machine learning y data science con scikit learn y pysparkMachine learning y data science con scikit learn y pyspark
Machine learning y data science con scikit learn y pysparkJose Manuel Ortega Candel
 
Integrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonIntegrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonCarlos Gustavo Ruiz
 
Python_Module_01_Courtesy.pdf
Python_Module_01_Courtesy.pdfPython_Module_01_Courtesy.pdf
Python_Module_01_Courtesy.pdfCeth1
 
excelente Tutorial aprendizaje de Python3.pdf
excelente Tutorial aprendizaje de Python3.pdfexcelente Tutorial aprendizaje de Python3.pdf
excelente Tutorial aprendizaje de Python3.pdfvictorpedro20
 
Manual python2
Manual python2Manual python2
Manual python2K-rlos Pac
 

Similar a Transparencias taller Python (20)

Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptx
 
Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015
 
Screencast aprende python - parte 1
Screencast   aprende python - parte 1Screencast   aprende python - parte 1
Screencast aprende python - parte 1
 
¿Cómo aprender Python sin morir en el intento?
¿Cómo aprender Python sin morir en el intento?¿Cómo aprender Python sin morir en el intento?
¿Cómo aprender Python sin morir en el intento?
 
Introduccion a Python
Introduccion a PythonIntroduccion a Python
Introduccion a Python
 
OOP Python workshop
OOP Python workshopOOP Python workshop
OOP Python workshop
 
Introduccion a Ppython
Introduccion a PpythonIntroduccion a Ppython
Introduccion a Ppython
 
Machine learning y data science con scikit learn y pyspark
Machine learning y data science con scikit learn y pysparkMachine learning y data science con scikit learn y pyspark
Machine learning y data science con scikit learn y pyspark
 
Integrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonIntegrando mis librerías C++ con Python
Integrando mis librerías C++ con Python
 
Clase1_Python-CTIC
Clase1_Python-CTICClase1_Python-CTIC
Clase1_Python-CTIC
 
Aprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación PythonAprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación Python
 
Python-01.pdf
Python-01.pdfPython-01.pdf
Python-01.pdf
 
Python_Module_01_Courtesy.pdf
Python_Module_01_Courtesy.pdfPython_Module_01_Courtesy.pdf
Python_Module_01_Courtesy.pdf
 
Yudy Centeno M
Yudy Centeno MYudy Centeno M
Yudy Centeno M
 
excelente Tutorial aprendizaje de Python3.pdf
excelente Tutorial aprendizaje de Python3.pdfexcelente Tutorial aprendizaje de Python3.pdf
excelente Tutorial aprendizaje de Python3.pdf
 
Tutorial python2
Tutorial python2Tutorial python2
Tutorial python2
 
Tutorial python2
Tutorial python2Tutorial python2
Tutorial python2
 
Manual python2
Manual python2Manual python2
Manual python2
 
Tutorial python2
Tutorial python2Tutorial python2
Tutorial python2
 
Tutorial python2
Tutorial python2Tutorial python2
Tutorial python2
 

Último

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxTaim11
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfManuelCampos464987
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerRobertoCarrancioFern
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesPABLOCESARGARZONBENI
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusraquelariza02
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfjjfch3110
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxencinasm992
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfcj3806354
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaFernando Villares
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdfIsabelHuairaGarma
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Luis Fernando Uribe Villamil
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024DanielErazoMedina
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxLeidyfuentes19
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 

Último (20)

(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 

Transparencias taller Python

  • 1. #MartesLibres Taller introducción a Python Taller de introducción a Pyth
  • 2. #MartesLibres Taller 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. #MartesLibres Filosofía pythonica Taller de introducción a Pyth
  • 7. #MartesLibres Filosofí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 contener valores 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 Python Tipos básicos: numéricos ● Taller de introducción a Pyth
  • 17. #MartesLibres Tipos de datos en Python Tipos básicos: cadenas ● Taller de introducción a Pyth
  • 18. #MartesLibres Tipos de datos en Python Tipos básicos: lógicos ● Taller de introducción a Pyth
  • 19. #MartesLibres Tipos de datos en Python Operaciones 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. #MartesLibres Tipos 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 Python Diccionarios: { } ● Taller de introducción a Pyth
  • 24. #MartesLibres Tipos de datos en Python Tipos 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 Glade GTK (GIMP Toolkit ) son bibliotectas multiplataforma para desarrollar interfaces gráficas de usuario. Principalmente para los entornos gráficos GNOME, XFCE y ROX aunque tambié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 de lenguajes como C, C++, C#, Java, Ruby, Perl, PHP o Python. Taller de introducción a Pyth
  • 27. #MartesLibres Pygtk y Glade Glade (o Glade Interface Designer) es una herramienta de desarrollo visual de interfaces gráficas mediante GTK/GNOME. GtkBuilder es un formato XML que Glade usa para almacenar los elementos de las interfaces diseñadas. Estos archivos pueden emplearse para construirla en tiempo de ejecución mediante el objeto GtkBuilder de GTK+. GladeXML era el formato que se usaba en 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. #MartesLibres Pygtk y Glade Taller de introducción a Pyth
  • 29. #MartesLibres PEP 8 Es 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 3D Es un motor de videojuegos que incluye gráficos, audio, E/S, detección de colisiones, así como otras características relevantes para 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 3D Taller 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 RunSnakeRun Herramienta gráfica para lectura sencilla de profiling (análisis de rendimiento del software). Para instalar: sudo apt-get install runsnakerun Taller de introducción a Pyth
  • 38. #MartesLibres Gracias por asistir Todo 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