Curso Programación en Python
Programación en Python
Detalle del Curso
Python es un lenguaje dinámico, simple, moderno y flexible, fácil de aprender y usar, que posibilita el desarrollo rápido de todo tipo de aplicaciones multiplataforma, tanto web como de escritorio, ya sea en sistemas de gestión comercial como juegos/multimedia o aplicaciones científicas.
Existen implementaciones para Java, .NET e interfases para otros lenguajes (C, VB, VFP, PHP, Delphi), facilitando el desarrollo de aplicaciones dinámicas o la extensión de programas existentes en estos ambientes, con un extenso y creciente numero de bibliotecas y proyectos para las mas diversas funciones.
Es utilizado por empresas de primera línea como Google, varias consultoras y empresas de software a nivel local.
Objetivos
El asistente obtendrá los conocimientos principales para el manejo del lenguaje y extensiones más utilizadas. Podrá terminar el curso creando aplicaciones, tanto para escritorio como para web, en windows y/o linux.
Requisitos
Conocimientos mínimos de programación. No es necesario conocer el lenguaje Python.
Modalidad
Seminario dictado en auditorio con proyección de imágenes de cañón.
Plan de Estudio
1. Introducción a Python: El Interprete. Sentencias simples. Tipos de datos
básicos: Manejo de Texto (strings y unicode), Números Enteros y Flotanes,
Listas y Diccionarios, Conjuntos. Condiciones y Búcles. Funciones y módulos.
Programación Orientada a Objetos: Clases y Objetos. Atributos, Métodos y
Propiedades. Herencia y Mixins. Excepciones. Espacios de nombres. Manejo de
Archivos. Ayuda y Documentación.
2. Introducción a la librería estándar: Tipos de datos Avanzados (fechas,
números decimales, etc.); Funciones matemáticas; Acceso al Sistema Operativo
(archivos, directorios y procesos); Hilos y procesos (threading, subprocess,
etc.); Networking (comunicaciones cliente/servidor con sockets, web con
http, email con smtp, etc.); Manejo de datos avanzados (mensajes de correo,
páginas web html, xml, zip, etc.); Depuración (pdb: Python Debugger)
3. Persistencia de datos: Serialización (persistencia simple: Pickle);
Interfase DbApi: conexión con bases de datos (ejemplos para SqLite,
PostgreSQL, MySQL). Introducción a mapeadores objeto-relacional
(Object-Relational-Mappers, ORM): SqlAlchemy y Elixir. Programación de
Procedimientos Almacenados y Disparadores con Pl/Python (PostgreSQL)
4. Introducción a extensiones avanzadas: PyGame (juegos y multimedia),
PyOpenGl, Blender (3D); NumPy (funciones de mátemáticas avanzadas,
computación científica); imágenes con PIL (Python Imaging Library);
ReportLab (generación de PDF); BeautifulSoup (manejo simple de html, xhtml,
xml); Extensiones Win32 (clientes y servidores interfase COM con otros
lenguajes y aplicaciones, API del sistema operativo Windows: servicios,
seguridad, procesos, gui, etc.); Py2Exe (generación de ejecutables e
instaladores para windows)
5. Introducción al desarrollo de aplicaciones multiplataforma (windows,
linux y mac) para Escritorio (GUI) con wxPython: Ejemplo simple con
PythonCard; Diseño de Pantallas con wxGlade; Programación por Eventos
WxPython. Ejemplo Sistema de facturación simple
6. Introducción al desarrollo de aplicaciones para Web utilizando
Django y Web2Py: Patrón MVC de tres capas: Modelo, Vista y Controlador.
Plantillas. Ejemplo de aplicación: sitio web dinámico
7. Ejemplo Integrador: Factura Electrónica (Interfaz PyAfipWs).
Extensiones M2Crypto (criptografía), httplib2. Manejo de XML.
Implementación de Clientes de Servicios web (SOAP). Generación de PDF
con pyfpdf. Planillas CSV y archivos de texto. Conexión con bases de
datos (ODBC). Envío de Emails y FTP. PyRece: interfaz gráfica wxPython
(PythonCard). Ejemplo interfaz web con web2py.
Material Entregado
Presentaciones, Instructivos, Ejemplos y Bibliografía (links)