- 1. Python Training Course Wilderman Ceren Ingeniero de Sistemas
Especialista en Telecomunicaciones Consultor y experto en
soluciones informticas basadas en software libre
2. Perfil profesional (Unix/POSIX)
-
- LAMP, Python (Bindings),PERL, BASH, Fortran, algo de
C,C++,Java,Tomcat,XML, webservices (SOAP, XML-RPC).
-
- BD> MySQL, PostgreSQL, sqlite, BerkeleyDB
-
- Enrutamiento, Interoperabilidad entre dispositivos propietarios
y libres, sistemas embebidos, firewalls, IDS.
-
- Implementacin de clusters de alto rendimiento (HPC) y alta
disponibilidad (HA).
3. Perfil profesional (Unix/POSIX)
- Administracin de servidores y recursos
-
- GNU/Linux (debian, gentoo, RHEL, ubuntu, otros)
-
- FreeBSD, OpenBSD & NetBSD.
-
- Seguridad en Embebidos: m0n0wall, pfSense
-
- OpenLDAP, Kerberos,OpenVPN, FreeRADIUS
4. Contenido
- Que puedo hacer con Python ?
- Implementacin alternativa
- Corriendo programas en Python
5. Contenido
6. Contenido
-
- Variables y Expresiones basicas
-
- Formatos de visualiz. Numerico
-
- Division (classic y floor)
7. Contenido
8. Contenido
-
- Indexado y Cortado (indexing and slicing)
-
- Categorias de tipo general
-
- Indexado, Cortado y Matrices
9. Contenido
-
- Conversiones e inmutabilidad
10. Contenido
-
- Otras herramientas de archivo
11. Contenido
-
- Sintaxis a partir de sangras
-
- Manejo de errores con entrada de texto
-
- Manejo de errores con sentenciastry
-
- Anidado de codigo a tres niveles de profundidad
12. Contenido
-
- Reglas para nombrar variables
-
- Sentencias en expresiones
-
- Cambios en el mismo lugar
-
- Redirigiendo el flujo de salida
13. Contenido
-
- Multi-ramificacinconif elif
-
- Reglas para sintaxis python
-
- Delimitadores en sentencias
-
- Expresion ternaria ( if/else )
14. Contenido
-
- break ,continue, pass, breakyelse
-
- Iterators a nivel de archivo
-
- Otros iterators embebidos (built-in) & user-defined
-
- Tcnicas para codificarloops
-
- Generacin de offsets e items conenumerate
15. Contenido
- Documentacin del cdigo fuente
16. Contenido
-
- Para que utilizar funciones ?
-
- Codificacin de una funcin
17. Contenido
-
- Reglas en el alcance ( scope )
-
- Conceptos Bsicos del alcance
-
- Minimizar uso de variables globales
-
- Minimizar cambios en archivo cruzado
-
- Otras formas de accesar globalmente
-
- Alcances y funciones anidadas
18. Contenido
-
- Argumentos y referencias compartidas
-
- Evitando los cambios mutables en argumentos
-
- Simulando parmetros de salida
-
- Modos de concordancia de argumentos
-
- Combinandokeywordsydefault
-
- Ejemplo general de uso de funciones
19. Contenido
-
-
- lambdasanidadosy alcances
-
- Aplicando funciones a argumentos
-
-
- Sintaxis de llamada similaraapply
-
- Mapeando funciones sobre secuencias:map
20. Contenido
-
- Comprensin de lista:Mappings
-
- Aadiendo tests y loops anidados
-
- Comprensin de lista y matrices
-
-
- Protocolo Funcin Generator Extendida:sendynext
-
-
- Iteratores y tipos de datos integrados
-
- Alternativas en la coordinacin en iteracines
-
- Conceptos en el diseo de funciones
-
- Funciones son objetos: llamadas indirectas
-
- Tips en Funciones (Para tener en cuenta)
21. Contenido
-
-
- Nombres locales detectado estticamente
-
-
- Objetos default y mutables
-
-
- Funciones sin retorno alguno
-
- Por que utilizar mdulos ?
-
- Arquitectura de un programa en Python
-
-
- Cmo estructurar un programa
-
-
- Mdulos de la libreria estndar
22. Contenido
-
-
-
- Por que utilizar import de paquete?
-
-
- Conceptos Avanzados en mdulos
-
-
-
- Habilitando futuras caracteristicas
-
-
-
- Conceptos en diseo de mdulos
23. Contenido
-
-
- Iteracines definida por el usuario
-
-
- Privacidad para los atributos en instancias
24. Contenido
-
-
- POO y herencia: relaciones Is-a
-
-
- POO y composicin: relaciones Has-a
-
-
- Clases son objetos: Generic Factories
-
-
- Mtodos son objetos: Bound o unbound
-
-
- Revisin a la Docmentacin con Strings
25. Contenido
-
- Topicos avanzados en clases
-
-
- Extendiendo tipos de datos Built-in
-
-
- Atributos para clase seudoprivada
26. Contenido
-
-
- Por que las excepciones (roles)
-
-
- Excepciones basadas en String
27. Contenido
-
-
- Excepcion basada en clase
-
-
- formas y sentencias generalesraise
-
-
- Excepciones anidadas ( nesting exception )
-
-
- Tips para diseo de Excepciones
-
-
-
- Desarrollo deToolspara proyectos grandes
28. Introduccin
- Por que la gente usa Python
-
- Integracin de componentes
29. Quienes usan Python?
- Intel, Cisco, HP, Seagate, Qualcomm
30. 1. Que puedo hacer con Python?
- Scripting y software standalone
- Lenguaje de Propsito General
- Web, Juegos, Robtica, Aeronutica
- Programacin a nivel de SO.
- Otros GUIs: Qt, GTK, MFC, Swing
- Jython & servicios Python CGI
31. 1. Que puedo hacer con Python?
- Integracin de componentes (C,C++, COM (MSWin), Jython, .NET
(IronPython), CORBA)
- Base de Datos (Sybase, Oracle, Informix, ODBC, MySQL,
PostgreSQL, SQLite, BDB, Firebird)
- Rpido en Prototipos hacia C/C++
- Programacin Numrica y Cientfica (Numpy)
- Juegos, Imagenes, AI, XML, Robotica ... y ms!
32. 2. Puntos tcnicos fuertes
-
- Polimorfismo, Sobrecarga, multi herencia
-
- POO es una opcin (no es mandatoria)
- Es libre de usar, distribuir y es soportado!
-
- Linux/Unix, Windows/DOS, Mac OS X, BeOS, OS/2
-
- Sistemas de Tiempo Real (VxWorks)
-
- PDAs, Celulares con Symbian/Windows Mobile
-
- Consolas de juego, iPods y mas...
33. 2. Puntos tcnicos fuertes
-
- Hbrido (se integra con lenguajes scripting Perl,TCL y
tradicionales como C/C++)
-
- Tipificacin dinmica (no declaracin previa)
-
- Manejo automtico de memoria
-
- Se programa en proyectos largos y complejos (uso de mdulos,
clases y excepciones)
-
- Utilidades desde terceros
34. 2. Puntos tcnicos fuertes
- Es mezclable con otros lenguajes
-
- Python API permite a rutinas C ser llamadas desde python
mismo.
-
- Se puede prototipear en Python y luego llevarlo a C/C++ una vez
al tiempo.
-
- codificalo y correlo de una!
- Su nombre viene deMonty Python's Flying Circus
35. 3. El intrprete
- Es una clase de programa que invoca otro programa.
- Es la capa lgica de software entre el cdigo y el hw de
computadora.
- Auto-Instala en Windows (Click->Siguiente)
- Linux/Mac OS X preinstalado?, compilan fuente o packs
RPM/DEB
- Disponibilidad: iPod, consolas de juego, celulares
36. 3. El intrprete
-
- Archivo de texto simple con sentencias:
-
- Generar con cualquier editor de texto
-
-
- 1267650600228229401496703205376
37. 3. El intrprete
- Ejecucin vista desde Python:
-
- Archivo Texto Fuente -> Intrprete -> byte code ->
maquina virtual
-
- Extension .pyc : archivo byte code (binario)
- Python Virtual Machine (PVM):
-
- Es un big loop ke interactua entre las instr. bytecode
-
- Es slo una parte del sistema ke conforma python.
38. 3. El intrprete
-
- Implicaciones en el rendimiento
-
-
- C/C++mas eficientes en la corrida o ejecucin
-
-
- Bytecode es una represent. python no cdigo maquina
-
-
- Cdigo se ejecuta a medida. que se escribe
-
-
- Bytecode sigue interpret. Yrequiere mas CPU
-
- Implicaciones en el desarrollo
-
-
- Entorno Desarrollo & Ejecucin son iguales
-
-
- Compilador presente en runtime
-
-
- No Compilar -> Enlazar, solo haga y ejecute!
-
-
- Todo sucede cuando se ejecuta el code
39. 4. Implementaciones Alternativas
-
- Portar cdigo Python a C ANSI (ActivePython distro)
-
- Implementacin estandar de referencia del lenguaje
-
- Integracin con Java (scripts corren como java apps)
-
- Clases Java que portan el cdigo python a la JVM.
40. 4. Implementaciones Alternativas
-
- Permite a scripts python integrarse con aplicaciones
codificadas para correr sobre .NET Framework
-
- Acta como componente cliente/servidor para ser invocado por
otros lenguajes .NET
-
- Desarrollado por Microsoft (propietario de .NET)
41. 5. Ejecutando Python scripts:Modo Interactivo
- Despues de estar instalado apropiadamente ejecutar desde el
prompt (win32 o unix):python
- Si deseas ejecutarlo desde cualquier sitio, agregarlo a la
variable de entorno PATH (unix)/usr/bin/pythono PATH (win32)
asiC:Python25python
- Prompt:>>> {command line}
42. 5. Ejecutando Python scripts:Modo Interactivo
- >>> print 'Hola mundo!' Hola mundo!
- Para salir del interprete: unix -> CTRL+D, win32 ->
CTRL+Z
- Para saber valor de variables no es necesario
utilizarprint
- Ejecuta instruccin a instruccin y no necesita cargar script
completo .
43. 5. Ejecutando Python scripts:Modo Interactivo
- Sirve para experimentar el lenguaje y utilizarlo para comprobar
porciones de cdigo