SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
De 0 a Python en 40 minutos
      (tranquilos que no pica)
Python es:
•   Un lenguaje de programacion de alto nivel
•   Dinamico
•   Multiparadigma (funcional y OO)
•   Multiplataforma
•   Un tipo de serpiente
Sirve para:
• Aplicaciones de escritorio y consola
  (QT, GTK+,wxWidgets, etc)
• Scripting de aplicaciones en otros lenguajes
  (Jython, IronPython, etc)
• System scripting
• Aplicaciones y sistemas web
• Recuperar el placer de programar
Algunas caracteristicas:
• Gratis y Libre
 ( y Open Source, todo por el mismo precio)
• Maduro (casi 20 años)
• Diseño minimalista, elegante y robusto
• Facil de aprender (se lee como pseudocodigo)
• Expremadamente portable
 (Unix, Windows, Mac, Amiga, BeOS, Win/CE,
   DOS, OS/2, VMS, Cray, y muchas otras)
Que tiene de interesante?
• Alto poder expresivo
• Potente soporte de listas y diccionarios
• Modo interactivo
Listas y diccionarios
lista=*1,2,3,’cuatro’,objeto.metodo,*‘una’,’lista’,’anidada’++
Diccionario=,‘clave’:’valor’,1:*‘a’,’b’,’c’+,’lista’:lista}
eventos=,‘onClick’: window.show, ’onESC’:window.close}
>>>evento=‘Click’
>>>eventos.get(‘on’+evento)()
List Comprehension
           (Listas por comprencion)
• Permite definir listas sin declarar explicitamente su
   contenido
[<expresion> for <valor> in <coleccion> if <condicion>]

Por ej:
>>> [n for n in range(10) if n % 2 == 0 ]
[0, 2, 4, 6, 8]
>>> [n*n for n in range(5)]
[0, 1, 4, 9, 16]
>>>def esPar(n): return ((n%2) == 0)
>>> [ n for n in range(10) if isPar(n) ]
[0, 2, 4, 6, 8]
Generadores
def primos():
  n = 2
  listaPrimos = []
  while True:
     if not any(n % f == 0 for f in listaPrimos):
           yield n listaPrimos.append(n) n += 1
Y para que sirve?
• En Python todo es un diccionario
• Por ej, los archivos:
>>archivo=open(“ texto.txt”)
>>for (linea in archivo):
     print(linea)
Los objetos tambien pueden verse asi…
Tirandose de cabeza: listas en accion
Objetivo: insertar en una base de datos el contenido de un archivo CSV
  hubicado en un sitio web

import MySQLdb
conn = MySQLdb.connect (host = "localhost", user = "testuser",
                         passwd = "testpass", db = "test")
ejecutar=conn.cursor().execute

def insertar(nombre,apellido,email):
    ejecutar(“INSERT INTO gente(“+nombre+’,’+apellido+’,’email+’)’)

datos= urlopen("http://misitio.com/datos.csv")

for (linea in datos):
        map(insertar,linea.split(“,”))
                                           Epa!
cursor.close ()
conn.close ()
Modo interactivo
import mechanize
br = mechanize.Browser()
br.open("http://www.veraz.com.ar/") # y ahora???

>>>br.select_form(name=“login_form")
#recibo un error informando que el formulario no existe
>>>br.open("http://www.veraz.com.ar/login") #el form estaba en un frame
>>>br.select_form(name=“login_form") #ahora si anda
>>>br*“user"+ = “elusuario“
>>>br*“password"+ = “laclave“                                  Te quiero ver
>>>respuesta = br.submit()                                   haciendo esto en
>>>print respuesta.geturl() # queria ir aca?                  C++ o Java…(si
>>>respuesta=br.follow_link(“continuar“)                         podes…)
>>>print respuesta .read() #veo el HTML de la pagina a donde me mando
>>>archivo = file('test.html', 'w')
>>>archivo.write(respuesta.read())
>>>archivo.close()
Duck Typing
“Si se ve como un pato, se mueve
  como un pato y suena como un
  pato, entonces debe ser un pato.”
Ejemplo
class TorresGemelas        class EnanoEnfurecido
   def explotar():            def explotar():
       print(“PUM!!”)             print(“Callate gil!”)



def reventar(cosa):
      cosa.explotar()

>>reventar(TorresGemelas)
PUM!!
>>reventar(EnanoEnfurecido)
Callate Gil!
Ejemplos de uso
Proyectos grosos              Aplicaciones:      Juegos:
• Youtube                     •BitTorrent        •Frets on Fire
• Gmail                       •Bazaar            •Civilization 4
                              •Mercurial         •Battlefield 2
• GoogleGroups                •YUM               •Eve Online
• GoogleMaps                  •Portage
• Reddit                      •Trac
Como lenguaje de scripting:

•Blender                       •Paint Shop Pro
•Maya                          •Amarok
•Poser                         •Totem
•Inkscape                      •VIM
•GIMP
Influencia en otros lenguajes
• ECMAScritp incorporo iteradores,
  generadores, y list comprehensions
• Groovy surgio para llevar la filosofia de
  Python a Java
• Ocaml tiene una sintaxis opcional, llamada
  “twt” (The Whitespace Thing), inspirada por
  Python y Haskell
Mas informacion
• Sitio oficial de Python: www.python.org
• Grupo de usuarios PyAr www.python.org.ar
• Google
Preguntas

Weitere ähnliche Inhalte

Andere mochten auch

SCJP, Clase 4: Operadores
SCJP, Clase 4: OperadoresSCJP, Clase 4: Operadores
SCJP, Clase 4: Operadoresflekoso
 
SCJP, Clase 5: Control de Flujo
SCJP, Clase 5: Control de FlujoSCJP, Clase 5: Control de Flujo
SCJP, Clase 5: Control de Flujoflekoso
 
SCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner ClassesSCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner Classesflekoso
 
Cultura Libre: Origenes, Definiciones y Alcances
Cultura Libre: Origenes, Definiciones y AlcancesCultura Libre: Origenes, Definiciones y Alcances
Cultura Libre: Origenes, Definiciones y Alcancesflekoso
 
SCJP, Clase 9: Threads
SCJP, Clase 9: ThreadsSCJP, Clase 9: Threads
SCJP, Clase 9: Threadsflekoso
 
Introducción a JavaFX
Introducción a JavaFXIntroducción a JavaFX
Introducción a JavaFXflekoso
 
SCJP, Clase 7: Generics
SCJP, Clase 7: GenericsSCJP, Clase 7: Generics
SCJP, Clase 7: Genericsflekoso
 
SCJP, Clase 6: Collections
SCJP, Clase 6: CollectionsSCJP, Clase 6: Collections
SCJP, Clase 6: Collectionsflekoso
 
SCJP, Clase 10: Strings, I/O
SCJP, Clase 10: Strings, I/OSCJP, Clase 10: Strings, I/O
SCJP, Clase 10: Strings, I/Oflekoso
 
SCJP, Clase 2: Ejemplos De Enum, Poo
SCJP, Clase 2: Ejemplos De Enum, PooSCJP, Clase 2: Ejemplos De Enum, Poo
SCJP, Clase 2: Ejemplos De Enum, Pooflekoso
 
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...flekoso
 
JavaFX 1.2 - Introducción
JavaFX 1.2 - IntroducciónJavaFX 1.2 - Introducción
JavaFX 1.2 - Introducciónflekoso
 
Índice Libro "macOS Hacking" de 0xWord
Índice Libro "macOS Hacking" de 0xWordÍndice Libro "macOS Hacking" de 0xWord
Índice Libro "macOS Hacking" de 0xWordTelefónica
 
Introducción a la Programación con Java
Introducción a la Programación con JavaIntroducción a la Programación con Java
Introducción a la Programación con Javaflekoso
 

Andere mochten auch (14)

SCJP, Clase 4: Operadores
SCJP, Clase 4: OperadoresSCJP, Clase 4: Operadores
SCJP, Clase 4: Operadores
 
SCJP, Clase 5: Control de Flujo
SCJP, Clase 5: Control de FlujoSCJP, Clase 5: Control de Flujo
SCJP, Clase 5: Control de Flujo
 
SCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner ClassesSCJP, Clase 8: Inner Classes
SCJP, Clase 8: Inner Classes
 
Cultura Libre: Origenes, Definiciones y Alcances
Cultura Libre: Origenes, Definiciones y AlcancesCultura Libre: Origenes, Definiciones y Alcances
Cultura Libre: Origenes, Definiciones y Alcances
 
SCJP, Clase 9: Threads
SCJP, Clase 9: ThreadsSCJP, Clase 9: Threads
SCJP, Clase 9: Threads
 
Introducción a JavaFX
Introducción a JavaFXIntroducción a JavaFX
Introducción a JavaFX
 
SCJP, Clase 7: Generics
SCJP, Clase 7: GenericsSCJP, Clase 7: Generics
SCJP, Clase 7: Generics
 
SCJP, Clase 6: Collections
SCJP, Clase 6: CollectionsSCJP, Clase 6: Collections
SCJP, Clase 6: Collections
 
SCJP, Clase 10: Strings, I/O
SCJP, Clase 10: Strings, I/OSCJP, Clase 10: Strings, I/O
SCJP, Clase 10: Strings, I/O
 
SCJP, Clase 2: Ejemplos De Enum, Poo
SCJP, Clase 2: Ejemplos De Enum, PooSCJP, Clase 2: Ejemplos De Enum, Poo
SCJP, Clase 2: Ejemplos De Enum, Poo
 
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...
SCJP, Clase 1: Introducción al curso, Intro a Java, Declaración y Control de ...
 
JavaFX 1.2 - Introducción
JavaFX 1.2 - IntroducciónJavaFX 1.2 - Introducción
JavaFX 1.2 - Introducción
 
Índice Libro "macOS Hacking" de 0xWord
Índice Libro "macOS Hacking" de 0xWordÍndice Libro "macOS Hacking" de 0xWord
Índice Libro "macOS Hacking" de 0xWord
 
Introducción a la Programación con Java
Introducción a la Programación con JavaIntroducción a la Programación con Java
Introducción a la Programación con Java
 

Ähnlich wie De 0 a Python en 40 minutos

Ähnlich wie De 0 a Python en 40 minutos (20)

Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Python - Programación para machos
Python - Programación para machosPython - Programación para machos
Python - Programación para machos
 
TUTORIAL JAVA
TUTORIAL JAVATUTORIAL JAVA
TUTORIAL JAVA
 
JAVA.PPT
JAVA.PPTJAVA.PPT
JAVA.PPT
 
JAVA (1).PPT
JAVA (1).PPTJAVA (1).PPT
JAVA (1).PPT
 
JAVA (1).PPT
JAVA (1).PPTJAVA (1).PPT
JAVA (1).PPT
 
Teensy para pentesters y locos (2010)
Teensy para pentesters y locos (2010)Teensy para pentesters y locos (2010)
Teensy para pentesters y locos (2010)
 
Python101
Python101Python101
Python101
 
python CIENTIFIFO.pdf
python CIENTIFIFO.pdfpython CIENTIFIFO.pdf
python CIENTIFIFO.pdf
 
FUNDAMENTOS PYTHON.ppsx
FUNDAMENTOS PYTHON.ppsxFUNDAMENTOS PYTHON.ppsx
FUNDAMENTOS PYTHON.ppsx
 
Python
PythonPython
Python
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014
 
Screencast aprende python - parte 1
Screencast   aprende python - parte 1Screencast   aprende python - parte 1
Screencast aprende python - parte 1
 
Manual De Javascript
Manual De JavascriptManual De Javascript
Manual De Javascript
 
1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
 
Manual javascript
Manual javascriptManual javascript
Manual javascript
 
1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
 
javascript
 javascript javascript
javascript
 
1117035859 javascript
1117035859 javascript1117035859 javascript
1117035859 javascript
 
Javascript
JavascriptJavascript
Javascript
 

Kürzlich hochgeladen

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Kürzlich hochgeladen (10)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

De 0 a Python en 40 minutos

  • 1. De 0 a Python en 40 minutos (tranquilos que no pica)
  • 2. Python es: • Un lenguaje de programacion de alto nivel • Dinamico • Multiparadigma (funcional y OO) • Multiplataforma • Un tipo de serpiente
  • 3. Sirve para: • Aplicaciones de escritorio y consola (QT, GTK+,wxWidgets, etc) • Scripting de aplicaciones en otros lenguajes (Jython, IronPython, etc) • System scripting • Aplicaciones y sistemas web • Recuperar el placer de programar
  • 4. Algunas caracteristicas: • Gratis y Libre ( y Open Source, todo por el mismo precio) • Maduro (casi 20 años) • Diseño minimalista, elegante y robusto • Facil de aprender (se lee como pseudocodigo) • Expremadamente portable (Unix, Windows, Mac, Amiga, BeOS, Win/CE, DOS, OS/2, VMS, Cray, y muchas otras)
  • 5. Que tiene de interesante? • Alto poder expresivo • Potente soporte de listas y diccionarios • Modo interactivo
  • 7. List Comprehension (Listas por comprencion) • Permite definir listas sin declarar explicitamente su contenido [<expresion> for <valor> in <coleccion> if <condicion>] Por ej: >>> [n for n in range(10) if n % 2 == 0 ] [0, 2, 4, 6, 8] >>> [n*n for n in range(5)] [0, 1, 4, 9, 16] >>>def esPar(n): return ((n%2) == 0) >>> [ n for n in range(10) if isPar(n) ] [0, 2, 4, 6, 8]
  • 8. Generadores def primos(): n = 2 listaPrimos = [] while True: if not any(n % f == 0 for f in listaPrimos): yield n listaPrimos.append(n) n += 1
  • 9. Y para que sirve? • En Python todo es un diccionario • Por ej, los archivos: >>archivo=open(“ texto.txt”) >>for (linea in archivo): print(linea) Los objetos tambien pueden verse asi…
  • 10. Tirandose de cabeza: listas en accion Objetivo: insertar en una base de datos el contenido de un archivo CSV hubicado en un sitio web import MySQLdb conn = MySQLdb.connect (host = "localhost", user = "testuser", passwd = "testpass", db = "test") ejecutar=conn.cursor().execute def insertar(nombre,apellido,email): ejecutar(“INSERT INTO gente(“+nombre+’,’+apellido+’,’email+’)’) datos= urlopen("http://misitio.com/datos.csv") for (linea in datos): map(insertar,linea.split(“,”)) Epa! cursor.close () conn.close ()
  • 11. Modo interactivo import mechanize br = mechanize.Browser() br.open("http://www.veraz.com.ar/") # y ahora??? >>>br.select_form(name=“login_form") #recibo un error informando que el formulario no existe >>>br.open("http://www.veraz.com.ar/login") #el form estaba en un frame >>>br.select_form(name=“login_form") #ahora si anda >>>br*“user"+ = “elusuario“ >>>br*“password"+ = “laclave“ Te quiero ver >>>respuesta = br.submit() haciendo esto en >>>print respuesta.geturl() # queria ir aca? C++ o Java…(si >>>respuesta=br.follow_link(“continuar“) podes…) >>>print respuesta .read() #veo el HTML de la pagina a donde me mando >>>archivo = file('test.html', 'w') >>>archivo.write(respuesta.read()) >>>archivo.close()
  • 12. Duck Typing “Si se ve como un pato, se mueve como un pato y suena como un pato, entonces debe ser un pato.”
  • 13. Ejemplo class TorresGemelas class EnanoEnfurecido def explotar(): def explotar(): print(“PUM!!”) print(“Callate gil!”) def reventar(cosa): cosa.explotar() >>reventar(TorresGemelas) PUM!! >>reventar(EnanoEnfurecido) Callate Gil!
  • 14. Ejemplos de uso Proyectos grosos Aplicaciones: Juegos: • Youtube •BitTorrent •Frets on Fire • Gmail •Bazaar •Civilization 4 •Mercurial •Battlefield 2 • GoogleGroups •YUM •Eve Online • GoogleMaps •Portage • Reddit •Trac Como lenguaje de scripting: •Blender •Paint Shop Pro •Maya •Amarok •Poser •Totem •Inkscape •VIM •GIMP
  • 15. Influencia en otros lenguajes • ECMAScritp incorporo iteradores, generadores, y list comprehensions • Groovy surgio para llevar la filosofia de Python a Java • Ocaml tiene una sintaxis opcional, llamada “twt” (The Whitespace Thing), inspirada por Python y Haskell
  • 16. Mas informacion • Sitio oficial de Python: www.python.org • Grupo de usuarios PyAr www.python.org.ar • Google