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)

Programado por Angel J. Lopez y el Club de Programadores | HTML + CSS por FedericoMP