De 0 A Python En 40 Minutos
Upcoming SlideShare
Loading in...5
×
 

De 0 A Python En 40 Minutos

on

  • 2,752 views

Charla introductoria al lenguaje Python dictada por Julián Cardonnet, en el marco de los festejos del Software Freedom Day 2009 en la ciudad de Tandil, Argentina

Charla introductoria al lenguaje Python dictada por Julián Cardonnet, en el marco de los festejos del Software Freedom Day 2009 en la ciudad de Tandil, Argentina

Statistics

Views

Total Views
2,752
Views on SlideShare
2,730
Embed Views
22

Actions

Likes
0
Downloads
58
Comments
0

4 Embeds 22

http://blogs.sun.com 10
http://www.slideshare.net 8
https://blogs.oracle.com 3
http://planets.sun.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    De 0 A Python En 40 Minutos De 0 A Python En 40 Minutos Presentation Transcript

    • 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