• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
python programming learning
 

python programming learning

on

  • 2,572 views

prueba

prueba

Statistics

Views

Total Views
2,572
Views on SlideShare
2,567
Embed Views
5

Actions

Likes
2
Downloads
40
Comments
0

1 Embed 5

http://www.slideshare.net 5

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

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

    python programming learning python programming learning Presentation Transcript

    • Python Training Course Wilderman Ceren Ingeniero de Sistemas – Especialista en Telecomunicaciones Consultor y experto en soluciones informáticas basadas en software libre
    • Perfil profesional (Unix/POSIX)
      • Desarrollo de Software
        • LAMP, Python (Bindings),PERL, BASH, Fortran, algo de C,C++,Java,Tomcat,XML, webservices (SOAP, XML-RPC).
        • BD> MySQL, PostgreSQL, sqlite, BerkeleyDB
      • Redes
        • Enrutamiento, Interoperabilidad entre dispositivos propietarios y libres, sistemas embebidos, firewalls, IDS.
      • Sistemas distribuidos
        • Implementación de clusters de alto rendimiento (HPC) y alta disponibilidad (HA).
    • Perfil profesional (Unix/POSIX)
      • Administración de servidores y recursos
        • GNU/Linux (debian, gentoo, RHEL, ubuntu, otros)
        • FreeBSD, OpenBSD & NetBSD.
        • Seguridad en Embebidos: m0n0wall, pfSense
      • Seguridad
        • OpenLDAP, Kerberos,OpenVPN, FreeRADIUS
    • Contenido
      • Que puedo hacer con Python ?
      • Puntos técnicos fuertes
      • El intérprete
      • Implementación alternativa
        • Cpython
        • Jython
        • IronPython
      • Corriendo programas en Python
    • Contenido
      • Tipos de Objetos
        • Integrados (built-in)
        • Numeros
        • Cadenas
        • Listas
        • Diccionarios
        • Tuplas
        • Archivos
        • Otros
    • Contenido
      • 7. Números
        • Literales numericos
        • Operadores
        • Variables y Expresiones basicas
        • Formatos de visualiz. Numerico
        • Division (classic y floor)
        • Operaciones Bitwise
        • Entero Largo
        • Número complejo
    • Contenido
      • Números
        • Otros tipos numericos
          • Decimales
          • Sets
          • Booleans
          • Extensiones de terceros
      • Cadenas
        • Literales
        • Operaciones Basicas
    • Contenido
        • Indexado y Cortado (indexing and slicing)
        • Herram. De Conversion
        • Formateo de Cadenas
        • Métodos
        • Categorias de tipo general
      • Listas
        • Operaciones basicas
        • Indexado, Cortado y Matrices
        • Mutabilidad
    • Contenido
      • Diccionarios
        • Operaciones basicas
        • Mutabilidad
        • Usos
      • Tuplas
        • Sintaxis
        • Conversiones e inmutabilidad
        • Por que Listas y Tuplas?
    • Contenido
      • Archivos
        • Objetos en archivos
        • Pickle
        • Otras herramientas de archivo
        • Tipos de Categoria
        • Jerarquia de Tipos
        • Otros tipos
        • Tipos Built-in
    • Contenido
      • Sentencias en Python
        • Sintaxis a partir de sangrías
        • Casos especiales
      • Loops interactivos
        • Manejo de errores con entrada de texto
        • Manejo de errores con sentencias try
        • Anidado de codigo a tres niveles de profundidad
      • Sentencias de asignación
    • Contenido
        • Asignando en secuencia
        • Asignación múltiple
        • Asignación aumentada
        • Reglas para nombrar variables
        • Sentencias en expresiones
        • Cambios en el mismo lugar
      • Sentencias print
        • Redirigiendo el flujo de salida
    • Contenido
      • Sentencias if
        • Ejemplo basico
        • Multi-ramificación con if – elif
        • Reglas para sintaxis python
        • Delimitadores de bloque
        • Delimitadores en sentencias
        • Casos especiales
        • Tests de verdad
        • Expresion ternaria ( if/else )
    • Contenido
      • Loops while y for
        • break , continue, pass, break y else
        • Iterators
        • Iterators a nivel de archivo
        • Otros iterators embebidos (built-in) & user-defined
        • Técnicas para codificar loops
        • Usos de range, zip y map
        • Generación de offsets e items con enumerate
    • Contenido
      • Comprensión de lista
        • En archivos
        • Sintaxis extendida
      • Documentación del código fuente
        • comentarios (#)
        • función dir
        • Docstrings: __doc__
          • definido por el usuario
          • estandar
          • integrado
    • Contenido
        • PyDoc: Función de ayuda
      • Funciones
        • Para que utilizar funciones ?
        • Codificación de una función
          • Sentencia def
          • Definición
          • Llamadas
        • Polimorfismo en Python
        • Variables locales
    • Contenido
      • Alcance y argumentos
        • Reglas en el alcance ( scope )
        • Conceptos Básicos del alcance
        • Ejemplos
        • Alcance integrado
        • La sentencia global
        • Minimizar uso de variables globales
        • Minimizar cambios en archivo cruzado
        • Otras formas de accesar globalmente
        • Alcances y funciones anidadas
    • Contenido
        • Pasando argumentos
        • Argumentos y referencias compartidas
        • Evitando los cambios mutables en argumentos
        • Simulando parámetros de salida
        • Modos de concordancia de argumentos
        • Valores default y keyword
        • Argumentos arbitrarios
        • Combinando keywords y default
        • Ejemplo general de uso de funciones
    • Contenido
      • Funciones Avanzadas
        • Funciones anónimas: lambda
          • Expresiones lambda
          • Por que usar lambda ?
          • lambdas anidados y alcances
        • Aplicando funciones a argumentos
          • comando apply
          • Sintaxis de llamada similar a apply
        • Mapeando funciones sobre secuencias: map
        • Uso de filter y reduce
    • Contenido
        • Comprensión de lista: Mappings
        • Conceptos básicos
        • Añadiendo tests y loops anidados
        • Comprensión de lista y matrices
        • Iterators: Generators
          • Protocolo Función Generator Extendida: send y next
          • Iteratores y tipos de datos integrados
        • Alternativas en la coordinación en iteraciónes
        • Conceptos en el diseño de funciones
        • Funciones son objetos: llamadas indirectas
        • Tips en Funciones (Para tener en cuenta)
    • Contenido
          • Nombres locales detectado estáticamente
          • Objetos default y mutables
          • Funciones sin retorno alguno
      • Módulos
        • Por que utilizar módulos ?
        • Arquitectura de un programa en Python
          • Cómo estructurar un programa
          • Imports y Atributos
          • Módulos de la libreria estándar
        • Cómo trabaja import
    • Contenido
          • Programar un módulo
            • Creación
            • Uso (import, from)
            • Namespaces
            • Recargar un módulo
          • Paquetes
            • Import
            • Por que utilizar import de paquete?
          • Conceptos Avanzados en módulos
            • Ocultando datos
            • Habilitando futuras caracteristicas
            • Mezclando modos de uso
            • Import Relativo
            • Conceptos en diseño de módulos
            • Gotchas
    • Contenido
      • Clases y POO
        • Generalidades
        • Programando clases
        • Programando clases II
          • Sentencia Clase
          • Métodos
          • Herencia
          • Operador de Sobrecarga
          • Iteraciónes definida por el usuario
          • Privacidad para los atributos en instancias
    • Contenido
          • Namespaces
        • Diseño con clases
          • Python y POO
          • Clases como registros
          • POO y herencia: relaciones “Is-a”
          • POO y composición: relaciones “Has-a”
          • POO y delegación
          • Herencia múltiple
          • Clases son objetos: Generic Factories
          • Métodos son objetos: Bound o unbound
          • Revisión a la Docmentación con Strings
    • Contenido
        • Diseño con clases
          • Clases Vs Modulos
        • Topicos avanzados en clases
          • Extendiendo tipos de datos “Built-in”
          • Atributos para clase “seudoprivada”
          • Nuevo estilo para clases
          • Static y métodos de clase
          • Función “decorators”
          • Gotchas (Tips)
    • Contenido
      • Excepciones y Tools
        • Conceptos básicos
          • Por que las excepciones (roles)
          • Manejo de Excepciones
          • Sentencia try/except/else
          • Sentencia try/finally
          • Unificado try/except
          • Sentencia raise
          • Sentencia assert
        • Objetos Exception
          • Excepciones basadas en String
    • Contenido
        • Objetos Exception
          • Excepcion basada en clase
          • formas y sentencias generales raise
        • Diseño con Excepciones
          • Excepciones anidadas ( nesting exception )
          • Lenguajes en excepciones
          • Tips para diseño de Excepciones
          • Gotchas
          • Resumen del “Core”
            • Python Toolset
            • Desarrollo de Tools para proyectos grandes
    • Introducción
      • Por que la gente usa Python
        • Calidad del Software *
        • Productividad **
        • Portabilidad
        • Librerias de soporte
        • Integración de componentes
        • Se disfruta!
    • Quienes usan Python?
      • Google
      • YouTube
      • BitTorrent
      • Intel, Cisco, HP, Seagate, Qualcomm
      • Pixar
      • Nasa
      • ESRI (GIS)
      • NSA
      • OLPC
    • 1. Que puedo hacer con Python?
      • Scripting y software “standalone”
      • Lenguaje de Propósito General
      • Web, Juegos, Robótica, Aeronáutica
      • Programación a nivel de SO.
      • GUIs (Tkinter, wxPython)
      • PythonCard – Dabo
      • Otros GUIs: Qt, GTK, MFC, Swing
      • Jython & servicios Python CGI
    • 1. Que puedo hacer con Python?
      • Internet Scripting
      • Integración de componentes (C,C++, COM (MSWin), Jython, .NET (IronPython), CORBA)
      • Base de Datos (Sybase, Oracle, Informix, ODBC, MySQL, PostgreSQL, SQLite, BDB, Firebird)
      • Rápido en Prototipos hacia C/C++
      • Programación Numérica y Científica (Numpy)
      • Juegos, Imagenes, AI, XML, Robotica ... y más!
    • 2. Puntos técnicos fuertes
      • Orientado a Objetos
        • Polimorfismo, Sobrecarga, multi herencia
        • POO es una opción (no es mandatoria)
      • Es libre de usar, distribuir y es soportado!
      • Es portable
        • Linux/Unix, Windows/DOS, Mac OS X, BeOS, OS/2
        • Sistemas de Tiempo Real (VxWorks)
        • Cray – IBM mainframes
        • PDAs, Celulares con Symbian/Windows Mobile
        • Consolas de juego, iPods y mas...
    • 2. Puntos técnicos fuertes
      • Es poderoso
        • Híbrido (se integra con lenguajes “ scripting ” Perl,TCL y tradicionales como C/C++)
        • Tipificación dinámica (no declaración previa)
        • Manejo automático de memoria
        • Se programa en proyectos largos y complejos (uso de módulos, clases y excepciones)
        • Objeto tipos “Built-in”
        • Tools “Built-in”
        • Utilidades desde terceros
    • 2. Puntos técnicos 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.
      • Facilidad de uso
        • codificalo y correlo de una!
      • Fácil de aprender
      • Su nombre viene de Monty Python's Flying Circus
    • 3. El intérprete
      • Es una clase de programa que invoca otro programa.
      • Es la capa lógica de software entre el código 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
    • 3. El intérprete
      • Ejecución de programa
        • Archivo de texto simple con sentencias:
          • print 'hola mundo'
          • print 2 ** 100
        • Generar con cualquier editor de texto
          • Extensión .py
        • > Python script1.py
          • hola mundo
          • 1267650600228229401496703205376
    • 3. El intérprete
      • Ejecución vista desde Python:
        • Archivo Texto Fuente -> Intérprete -> 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 sólo una parte del sistema ke conforma python.
    • 3. El intérprete
        • Implicaciones en el rendimiento
          • C/C++ mas eficientes en la corrida o ejecución
          • Bytecode es una represent. python no código maquina
          • Código se ejecuta a medida. que se escribe
          • Bytecode sigue interpret. Y requiere mas CPU
        • Implicaciones en el desarrollo
          • Entorno Desarrollo & Ejecución son iguales
          • Compilador presente en runtime
          • No Compilar -> Enlazar, solo haga y ejecute!
          • Todo sucede cuando se ejecuta el code
    • 4. Implementaciones Alternativas
      • Cpython
        • Portar código Python a C ANSI (ActivePython distro)
        • Implementación estandar de referencia del lenguaje
      • Jython
        • Integración con Java (scripts corren como java apps)
        • Clases Java que portan el código python a la JVM.
    • 4. Implementaciones Alternativas
      • IronPython
        • Permite a scripts python integrarse con aplicaciones codificadas para correr sobre .NET Framework
        • Actúa como componente cliente/servidor para ser invocado por otros lenguajes .NET
        • Desarrollado por Microsoft (propietario de .NET)
    • 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/python o PATH (win32) asi C:Python25python
      • Prompt: >>> {command line}
    • 5. Ejecutando Python scripts: Modo Interactivo
      • >>> print 'Hola mundo!' Hola mundo!
      • >>> print 2**8 256
      • Para salir del interprete: unix -> CTRL+D, win32 -> CTRL+Z
      • Para saber valor de variables no es necesario utilizar print
      • Ejecuta instrucción a instrucción y no necesita cargar script completo .
    • 5. Ejecutando Python scripts: Modo Interactivo
      • Sirve para experimentar el lenguaje y utilizarlo para comprobar porciones de código