SlideShare una empresa de Scribd logo
Python multiuso En todo lugar, para toda ocasión... Francisco Palm ULA/Cenditel
Motivación Hablar de lenguajes de programación sin programar es esotérico
Hablar de detalles de programación es largo y a veces soporífero Afortunadamente tenemos Python
¿Python es? Tecnología de desarrollo libre, dinámica, multiplataforma, multiparadigma, de propósito general, extensible...
Diseñado para las personas Legible, elegante, sencillo, seguro, con pilas incorporadas...
Menos código No hay que declarar las variables x,y,z = 2,'hola',pow Cada variable adquiere el tipo del valor asignado print z <built-in function pow>
Menos código No sólo medido en número de líneas, no hacen falta “{“, “}” o “begin” “end”, o  perolitos  como “$” o “#” en los identificadores. for i in range(5): if i == 3: print &quot;i es 3&quot;
Interactivo de fábrica Al ser interpretado puede ser utilizado en modo interactivo.
Sirve como calculadora, shell o ambiente de pruebas. $python $ipython
Todo es un objeto En python no hay primitivas, todo son objetos. >>> &quot;hola&quot;.upper() 'HOLA' >>> int(1).__add__(1) 2
Estructuras dinámicas Se cuenta con listas y diccionarios  de fábrica, son dinámicos, manejan cualquier tipo de datos: l = [3,'cuatro',5j,[0x6a,0x6b]] d = {“fpalm”:[“impulsivo”,”distraido”, “extravagante”]}
Listas y comprensivas Forma compacta de hacer programación funcional  como si nada . >>> li = ['tel','cite','cnti','a'] >>> [i for i in li if 'te' in i] ['tel', 'cite']
Viene con pilas incluídas La biblioteca estándar es extensa y no coarta las decisiones del programador. import smtplib server = smtplib.SMTP('localhost') server.sendmail('x@z','y@z','hola') server.quit()
Autodocumentado El código puede ser su propio manual de referencia. >>> def tome_pim(x): ...  &quot;&quot;&quot; y haga pum! &quot;&quot;&quot; ...  return &quot;pum(%s)&quot; % x >>> tome_pim.__doc__ ' y haga pum! '
Introspectivo Los objetos pueden verse a sí mismos, y sacar lo mejor de ellos! [(met, met.__doc__) for met in dir(math) if not(callable(getattr(math,met)))]
Captura de Errores Todos los errores se capturan como excepciones, ¡y te dicen donde está el error!
Captura de Errores Traceback (most recent call last): File &quot;simredes.py&quot;, line 229, in <module> lee_nom_arch() File &quot;simredes.py&quot;, line 90, in lee_nom_arch a_entrada = open(nombre_e,'r') IOError: [Errno 2] No such file or directory: '.DEF'
Habla web Desarrollo web ágil, Python provee todo el stack: servidor, base de datos y lógica! import BaseHTTPServer httpd = BaseHTTPServer.HTTPServer(('',8000), BaseHTTPServer.BaseHTTPRequestHandler) httpd.serve_forever()
Python calculadora >>> (1+2j)/(1+1j) (1.5+0.5j) >>> from scipy.integrate import quad >>> import math >>> quad(lambda x: math.exp(-x), 0, 4.5) (0.98889100346175751, 1.0978895608879186e-14)
Thumbnails con PIL import os, sys, Image size = 128, 128 for infile in sys.argv[1:]: outfile = os.path.splitext(infile)[0] + &quot;-thumbnail.jpg&quot; try: im = Image.open(infile) im.thumbnail(size) im.save(outfile, &quot;JPEG&quot;) except IOError: print &quot;no se puede con&quot;, infile
Tomar notas con Synoptic $ apt-get install python-setuptools $ sudo easy_install synoptic $ synoptic flisol serving at http://127.0.0.1:7331/...

Más contenido relacionado

ODP
Python Vs C
PDF
Clase1_Python-CTIC
PPTX
Introduccion a Ppython
PDF
Paralela10
PDF
Python básico II
PDF
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
PDF
Python básico I
PDF
Python (ejercicios)
Python Vs C
Clase1_Python-CTIC
Introduccion a Ppython
Paralela10
Python básico II
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Python básico I
Python (ejercicios)

Destacado (19)

PPT
CERN_3o_GEL_SPARTIS_2013
PPS
Mini Game
PPT
excursion familiar
DOC
Trend search korean_september20
PPT
Fractions
PPT
Health Reference Center Academic: A Guide for Easy Use
PPT
Enron Final Oct19 Mnchoi
PDF
Imshopping Saleskit 0530
PPT
Enron Final Oct13
PPT
Powers of ten
PPT
Enron Final Oct13
PDF
Pzaar Bp 20091021
PPTX
Poster rrr parousiasi
PPT
Enron Final Oct13
PDF
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
PPSX
microscope_ekfe_lakonias
PDF
Γεωγραφικές Συντεταγμένες
PDF
Profil Penataan Ruang Banten
PDF
DIY: Making your own lenses by Meghana Kulkarni
CERN_3o_GEL_SPARTIS_2013
Mini Game
excursion familiar
Trend search korean_september20
Fractions
Health Reference Center Academic: A Guide for Easy Use
Enron Final Oct19 Mnchoi
Imshopping Saleskit 0530
Enron Final Oct13
Powers of ten
Enron Final Oct13
Pzaar Bp 20091021
Poster rrr parousiasi
Enron Final Oct13
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
microscope_ekfe_lakonias
Γεωγραφικές Συντεταγμένες
Profil Penataan Ruang Banten
DIY: Making your own lenses by Meghana Kulkarni
Publicidad

Similar a Python Multiuso (20)

ODP
Taller II Coreis Python 13112009
ODP
Introducción a Python
PPT
Modelo Simulado
PPT
Presentación de programación (conceptos y ejercicios)
PPT
Diapositivas del resumen y ejercicios(finalizada)
PPT
Diapositivas del resumen y ejercicios(finalizada) (1)
PDF
Mini clase Intro Programación Python UTN Profesorado 2015
PDF
Programación en Pl/Python
ODP
Introduccion a Python por Facundo Batista
PDF
Introduccion a Python
PPTX
Python-Thonny programación avanzada TESE
PPTX
Conceptos de algoritmo, programa y lenguaje de
PPTX
Conceptos de algoritmo, programa y lenguaje de
PPTX
Conceptos de algoritmo, programa y lenguaje de
PPTX
Conceptos de algoritmo, programa y lenguaje de
ODP
Taller I Coreis Python 10112009
PPTX
Python101
PDF
Python - Programación para machos
PDF
Computación distribuida usando Python
PDF
Curso de VoIP / Parte 04: Conceptos avanzados
Taller II Coreis Python 13112009
Introducción a Python
Modelo Simulado
Presentación de programación (conceptos y ejercicios)
Diapositivas del resumen y ejercicios(finalizada)
Diapositivas del resumen y ejercicios(finalizada) (1)
Mini clase Intro Programación Python UTN Profesorado 2015
Programación en Pl/Python
Introduccion a Python por Facundo Batista
Introduccion a Python
Python-Thonny programación avanzada TESE
Conceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje de
Taller I Coreis Python 10112009
Python101
Python - Programación para machos
Computación distribuida usando Python
Curso de VoIP / Parte 04: Conceptos avanzados
Publicidad

Más de Francisco Palm (12)

PDF
Aprendizaje software libre
PDF
Aprender con python
PDF
Pensando La Migracion Como Un Hacker
PDF
La Programación de Videojuegos con Python como Estrategia para una Alfabetiza...
PDF
Python Aumenta Cinco Veces la Productividad
PDF
Sistemas de Gestión de Contenido Libres (MoinMoin y Plone)
PDF
Herramientas para el Desarrollo de Software Libre
PDF
Python: programacion para el Poder Popular
PDF
Hacia LOCALIZA Libre
PDF
Geomatica Libre para el Socialismo
PDF
Taller de Induccion a la Geomatica Libre
PDF
Software libre y Ciudadania
Aprendizaje software libre
Aprender con python
Pensando La Migracion Como Un Hacker
La Programación de Videojuegos con Python como Estrategia para una Alfabetiza...
Python Aumenta Cinco Veces la Productividad
Sistemas de Gestión de Contenido Libres (MoinMoin y Plone)
Herramientas para el Desarrollo de Software Libre
Python: programacion para el Poder Popular
Hacia LOCALIZA Libre
Geomatica Libre para el Socialismo
Taller de Induccion a la Geomatica Libre
Software libre y Ciudadania

Último (20)

PDF
clase auditoria informatica 2025.........
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
Temas y subtemas de las fichas 1 y 2.pdf
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PDF
SAP Transportation Management para LSP, TM140 Col18
DOCX
Trabajo colaborativo Grupo #2.docxmmuhhlk
PPTX
Administración se srevidores de apliaciones
PPTX
Presentación de Redes de Datos modelo osi
PPTX
Introduccion a servidores de Aplicaciones (1).pptx
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
Yogurt de tocosh (1).pptx preparacion receta
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
DOCX
Las nuevas tecnologías en la salud - enfermería técnica.
PDF
diagrama de pareto.pdf valerie giraldo diaz
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
clase auditoria informatica 2025.........
Calidad desde el Docente y la mejora continua .pdf
Temas y subtemas de las fichas 1 y 2.pdf
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
introduccion a las_web en el 2025_mejoras.ppt
Plantilla para Diseño de Narrativas Transmedia.pdf
SAP Transportation Management para LSP, TM140 Col18
Trabajo colaborativo Grupo #2.docxmmuhhlk
Administración se srevidores de apliaciones
Presentación de Redes de Datos modelo osi
Introduccion a servidores de Aplicaciones (1).pptx
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
REDES INFORMATICAS REDES INFORMATICAS.pptx
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Yogurt de tocosh (1).pptx preparacion receta
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Las nuevas tecnologías en la salud - enfermería técnica.
diagrama de pareto.pdf valerie giraldo diaz
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Presentación PASANTIAS AuditorioOO..pptx

Python Multiuso

  • 1. Python multiuso En todo lugar, para toda ocasión... Francisco Palm ULA/Cenditel
  • 2. Motivación Hablar de lenguajes de programación sin programar es esotérico
  • 3. Hablar de detalles de programación es largo y a veces soporífero Afortunadamente tenemos Python
  • 4. ¿Python es? Tecnología de desarrollo libre, dinámica, multiplataforma, multiparadigma, de propósito general, extensible...
  • 5. Diseñado para las personas Legible, elegante, sencillo, seguro, con pilas incorporadas...
  • 6. Menos código No hay que declarar las variables x,y,z = 2,'hola',pow Cada variable adquiere el tipo del valor asignado print z <built-in function pow>
  • 7. Menos código No sólo medido en número de líneas, no hacen falta “{“, “}” o “begin” “end”, o perolitos como “$” o “#” en los identificadores. for i in range(5): if i == 3: print &quot;i es 3&quot;
  • 8. Interactivo de fábrica Al ser interpretado puede ser utilizado en modo interactivo.
  • 9. Sirve como calculadora, shell o ambiente de pruebas. $python $ipython
  • 10. Todo es un objeto En python no hay primitivas, todo son objetos. >>> &quot;hola&quot;.upper() 'HOLA' >>> int(1).__add__(1) 2
  • 11. Estructuras dinámicas Se cuenta con listas y diccionarios de fábrica, son dinámicos, manejan cualquier tipo de datos: l = [3,'cuatro',5j,[0x6a,0x6b]] d = {“fpalm”:[“impulsivo”,”distraido”, “extravagante”]}
  • 12. Listas y comprensivas Forma compacta de hacer programación funcional como si nada . >>> li = ['tel','cite','cnti','a'] >>> [i for i in li if 'te' in i] ['tel', 'cite']
  • 13. Viene con pilas incluídas La biblioteca estándar es extensa y no coarta las decisiones del programador. import smtplib server = smtplib.SMTP('localhost') server.sendmail('x@z','y@z','hola') server.quit()
  • 14. Autodocumentado El código puede ser su propio manual de referencia. >>> def tome_pim(x): ... &quot;&quot;&quot; y haga pum! &quot;&quot;&quot; ... return &quot;pum(%s)&quot; % x >>> tome_pim.__doc__ ' y haga pum! '
  • 15. Introspectivo Los objetos pueden verse a sí mismos, y sacar lo mejor de ellos! [(met, met.__doc__) for met in dir(math) if not(callable(getattr(math,met)))]
  • 16. Captura de Errores Todos los errores se capturan como excepciones, ¡y te dicen donde está el error!
  • 17. Captura de Errores Traceback (most recent call last): File &quot;simredes.py&quot;, line 229, in <module> lee_nom_arch() File &quot;simredes.py&quot;, line 90, in lee_nom_arch a_entrada = open(nombre_e,'r') IOError: [Errno 2] No such file or directory: '.DEF'
  • 18. Habla web Desarrollo web ágil, Python provee todo el stack: servidor, base de datos y lógica! import BaseHTTPServer httpd = BaseHTTPServer.HTTPServer(('',8000), BaseHTTPServer.BaseHTTPRequestHandler) httpd.serve_forever()
  • 19. Python calculadora >>> (1+2j)/(1+1j) (1.5+0.5j) >>> from scipy.integrate import quad >>> import math >>> quad(lambda x: math.exp(-x), 0, 4.5) (0.98889100346175751, 1.0978895608879186e-14)
  • 20. Thumbnails con PIL import os, sys, Image size = 128, 128 for infile in sys.argv[1:]: outfile = os.path.splitext(infile)[0] + &quot;-thumbnail.jpg&quot; try: im = Image.open(infile) im.thumbnail(size) im.save(outfile, &quot;JPEG&quot;) except IOError: print &quot;no se puede con&quot;, infile
  • 21. Tomar notas con Synoptic $ apt-get install python-setuptools $ sudo easy_install synoptic $ synoptic flisol serving at http://127.0.0.1:7331/...
  • 22. Jugar con gedit def clean_moin(window): doc = window.get_active_document() flag = 0 doc.replace_all('\n`','\n{{{\n',flag) doc.replace_all('`\n','\n}}}\n',flag) doc.replace_all('<<BR>> ','\n',flag)
  • 23. Diagramas con pygraphviz from pygraphviz import * from random import randint A = AGraph() for i in range(16): A.add_edge(randint(0,15),i) n = A.get_node(i) print A.string() A.draw(&quot;star.png&quot;,prog=&quot;circo&quot;)
  • 24. Conclusiones Python está en todos lados: el sistema operativo, Gimp, Firefox, Inkscape, Blender, Quantum GIS, GRASS GIS, el sistema estadístico R, OpenOffice, ...
  • 25. No garantiza la felicidad pero te deja en la vuelta de la esquina...