Python de Sathish Yellanki
Lenguaje de programación de nueva generación
No solo te entrenamos, sino que te hacemos
Identifica tu poder interior para ser un
Programador Innovador Listo Para Tomar
Desafíos para la próxima generación de TI
Industria
Un libro abierto para tu primer nivel
Viaje al Programación en Python
Introducción
• Introducción al lenguaje Python
• Entendiendo las características de Python
• Introducción a la programación en Python
• Instalando Python en
o Ventanas
o Linux
• Comprendiendo el 'Establecimiento de Ruta' en Python
• ¿Qué son las variables de entorno de Python?
• Introducción a Entornos de Desarrollo Integrados (IDE) de Python
• Programación en Python usando el modo interactivo
• Programación en Python en Modo de Scripting
Entendiendo conceptos básicos de lengua
• ¿Qué son los identificadores?
• Convenciones de nombrado para identificadores
• Palabras clave reservadas de Python
• Comprendiendo las líneas de Python y la indentación
• Comprendiendo los caracteres de escape
• Declaraciones de varias líneas en Python
• Uso de comillas en Python
o Comillas simples
o Comillas dobles
o Citas triples
• Comentarios en Python
• ¿Qué son las líneas en blanco en Python?
• Comprendiendo los estándares de entrada y salida de Python
• Manejando múltiples declaraciones en una sola línea.
• Argumentos de línea de comandos en Python
Manejo de memoria en Python
Operadores de Python
• Comprendiendo los operadores en Python
o Operadores Aritméticos
o Operadores de Comparación O Relacionales
o Operadores de Asignación
o Operadores Lógicos
o Operadores a nivel de bit
o Operadores de Membresía
o Operadores de Identidad
• Comprendiendo la Precedencia de Operadores
Tipos de datos de Python
• Tipos de datos estándar de Python
o Tipos de Números
o Tipos de Cadena
o Tipos de Lista
o Tipos de tuplas
o Tipos de Diccionario
• Declaración, Inicialización y Asignación de Variables
• Manejo de entrada en tiempo de ejecución en Python
• Asignación en cascada en Python
Manejo de Números en Python
• Tipos de datos numéricos en Python
o int
o largo
o flotar
o complejo
• Experimentando con Operadores Aritméticos
• Número O Funciones Matemáticas
• Estándares de Conversión de Tipos en Python
Gestión de Cadenas en Python
• Entendiendo las cadenas en Python
• Lectura de datos de cadenas en Python
• Entendiendo el concepto de actualización de cadenas en Python
• Manejo de la concatenación de cadenas
• Experimentando con operadores de cadena en Python
• Comprender la "Indexación", "Corte" y "Matrices"
• Experimentando con el formateo de cadenas en Python
• Manejo de cadenas Unicode en Python
• Experimentando Cadenas Con Métodos
Control de flujo en Python
• Programación en Tiempo Real Usando Estructuras de Control
Instrucciones de ramificación
o La declaración 'si'
o La cláusula 'else'
o Sentencias 'if' anidadas
o Usando la cláusula “elif”
• Valores como Condiciones
• Usando Operadores Lógicos
• Declaraciones como trajes en Python
o Suites de Declaración Única
o Conjuntos de múltiples declaraciones
Bloques Iterativos
• La instrucción 'mientras'
• El bucle 'for'
• Bucles anidados en Python
• Planificación para evitar bucles infinitos
Controlando el Comportamiento de los Bucles
• instrucción 'break'
• Declaración 'continuar'
• Declaración 'pass'
Trabajando con Colecciones Integradas de Python
Experimentando la Práctica de las "Listas" en Python
• Declaración y acceso a listas
• Actualización de datos en 'Listas'
• Eliminación de datos de "Listas"
• Comprendiendo las operaciones básicas de 'lista'
• Entendiendo la 'Indexación', 'Corte' y 'Matrices'
• Funciones incorporadas de lista en Python
• Experimentando con Listas y Métodos
Experimentando la Practicidad de los 'Tuples' de Python
• Declaración y acceso a tuplas
• Actualización de datos en 'Tuplas'
• Eliminación de datos de "Tuplas"
• Entendiendo las operaciones básicas de 'Tuplas'
• Entendiendo el 'Indexado', 'Segmentación' y 'Matrices' de Tuplas
• Funciones incorporadas de tuplas en Python
• Experimentando con tuplas y métodos
Experimentando la practicidad del 'Diccionario' de Python
• Declaración y Acceso al Diccionario
• Actualización de datos en "Diccionario"
• Eliminación de datos del 'Diccionario'
• Entendiendo las propiedades de las claves del 'Diccionario'
• Entendiendo las operaciones básicas del "diccionario"
• Funciones integradas del diccionario de Python
• Experimentando con Diccionarios y Métodos
Gestión de Fecha y Hora en Python
Gestión del Tiempo
• Comprendiendo el concepto de tick en Python
• Entendiendo el concepto de 'TimeTuple'
• Entendiendo el concepto de la estructura “struct_time”
• Capturando la hora actual en Python
• Personaliza el formato de hora en Python
• Experimentando con el módulo 'time' y los métodos en Python
• Entendiendo los Atributos del Módulo de Tiempo
Gestión de Calendario
• Generating Calendar in Python
• Experimentando con el módulo 'Calendario' y funciones en Python
Experimentando con los módulos y utilidades de fecha y hora proporcionados por Python
Manejo de Excepciones en Python
¿Qué son las excepciones?
Diferencia entre 'Error' y 'Excepción'
Conceptos de manejo de excepciones en Python
Entender el bloque “try…except…else” en Python
• "excepción" Cláusula Con O Sin Excepciones
• "excepto" cláusula con múltiples excepciones
• Cláusula "try...finally" de Python
¿Qué se entiende por 'argumento de una excepción'?
Lanzar una excepción en Python
Diseñando Excepciones Definidas por el Usuario en Python
Experimentando excepciones estándar de Python
Excepciones Definidas por el Usuario en Python
Aserciones en Python
¿Qué son las "Afirmaciones"?
Comprendiendo la declaración 'assert'
Dónde usar afirmaciones en Python
Programación modular con Python
• ¿Qué son las funciones en Python?
• Entendiendo la Sintaxis de las Funciones
• Declaración de función
• Llamada a Función
• “Llamada por valor” y “Llamada por referencia”
Entendiendo los 'Argumentos' de la Función
• Argumentos "Requeridos"
• Argumentos de 'palabra clave'
• Argumentos por defecto
• Argumentos de Longitud Variable
Experimentando funciones 'Anónimas'
Entendiendo la declaración "return" en funciones de Python
Comprendiendo el Alcance de las Variables en Python
Experimentando con variables "globales" y variables "locales"
Entendiendo la Recursión
¿Qué es la recursión?
Why We Need Recursion?
Requisitos básicos de la recursión
Experimentando la Recursión en la Práctica
Sobrecarga de funciones
¿Qué es la sobrecarga de funciones?
Reglas de Sobrecarga de Funciones
Sobrecarga de funciones incorporadas
Sobrecarga de funciones definidas por el usuario
Sobrecarga de Operadores
¿Qué es la sobrecarga de operadores?
Reglas para la Sobrecarga de Operadores
¿Por qué necesitamos la sobrecarga de operadores?
¿Cuáles son los métodos mágicos para la sobrecarga de operadores?
Desarrollando "Módulos" Personalizados en Python
Comprendiendo el concepto de módulos en Python
¿Por qué necesitamos módulos en Python?
Entendiendo la declaración 'import' en Python
Aplicando la sentencia “from…import” en módulos de Python
¿Cómo saber la ubicación de los módulos en Python?
¿Qué es la variable 'PYTHONPATH' en Python?
Entendiendo los 'Espacios de Nombres' y 'Alcance' en Python
Capturando algunas funciones en módulos de Python
• Función “dir()”
• "globals()" Función
• Función "locals()"
• Función “reload()”
Paquetes en Python
• Diseñando paquetes en Python
• Aplicando Paquetes para la Práctica
• Llamando Componentes Desde los Paquetes
• Python PIP
Manejo de Archivos en Python
Comprendiendo el concepto de archivos
Experimentando las Operaciones de Archivos en Python
• Apertura del archivo
• Entendiendo los modos de apertura de archivos
Comprendiendo los atributos del objeto File
Comprendiendo las operaciones de 'Leer' y 'Escribir' en Python
• Método “read()”
• "método write()"
Comprendiendo el cierre de archivos
• Método “close()”
Capturando los Punteros de Posición del Archivo
• ¿Cuál es el concepto de posicionamiento de archivos?
• Métodos de Posicionamiento de Archivos en Python
Métodos de gestión de archivos
• Método “rename()”
• Método “remove()”
Comprender y manejar directorios en Python
Uso de métodos de archivos y directorios en Python
Introducción a la Programación Orientada a Objetos en Python
¿Qué es el Paradigma Orientado a Objetos?
Capturando la jerga orientada a objetos
Entendiendo el concepto de clase en Python
• Creando Clases
• Modificadores de Acceso en la Clase de Python
• Creando las instancias de clase (objetos)
• Declarando Atributos en una Clase
• Accediendo a Atributos Desde Clases
• Métodos de acceso a atributos en Python
o getattr()
o hasattr()
o setattr()
o delattr()
Atributos de Clase Integrados en Python
• _dict_
• _doc_
• _nombre_
• _módulo_
• _bases_
Diseñando Métodos en una Clase de Python
• Métodos de Clase
• Métodos de instancia
Constructores en Python
• Tipos de Constructores
• Sobrecarga de Constructores
Sobrecarga de Métodos
• ¿Qué es la sobrecarga de métodos?
• Reglas para la Sobrecarga de Métodos
• ¿Por qué necesitamos la sobrecarga de métodos?
Entendiendo la Recolección de Basura en Python
Entendiendo el Concepto de Herencia
• ¿Qué se entiende por herencia?
• ¿Por qué necesitamos la herencia?
• Reglas para implementar la herencia
• Tipos de Herencia
o Herencia Simple
o Herencia de Múltiples Niveles
o Herencia jerárquica
o Herencia Múltiple
o Herencia Híbrida
Entendiendo el método “issubclass()”
Entendiendo el método “isinstance()”
Entendiendo 'super()' en la herencia
¿Qué son las clases de datos en Python?
Sobrecarga de Métodos
• ¿Qué es la Sobrescritura de Métodos?
• Reglas para la Sobrescritura de Métodos
• ¿Por qué necesitamos la sobrecarga de métodos?
Entendiendo el concepto de resolución de métodos en Python
Concepto de Sobrescritura de Métodos en Python
Polimorfismo en Python
• Funciones polimórficas definidas por el usuario y en Python incorporadas
• Polimorfismo utilizando métodos de la clase
• Polimorfismo por herencia
• Polimorfismo con funciones y objetos
Implementación Avanzada de Python
Iteradores de Python
• What are Iterators?
• Iterando usando el iterador de Python
• Creando Nuestro Propio Iterador
• Iteradores infinitos en Python
Generadores de Python
• ¿Qué son los generadores?
• Creando Nuestro Propio Generador en Python
• Función Generadora Versus Función Normal
• Generadores de Python con bucle
• Expresiones de Generador
• ¿Por qué deberíamos utilizar generadores?
Clausuras de Python
• ¿Qué son las clausuras?
• Entendiendo las Variables No Locales en una Función Anidada
• Definiendo Nuestra Propia Función de Cierre
• ¿Cuándo planear un cierre?
• ¿Cuándo usar un cierre?
Decoradores de Python
• ¿Qué son los decoradores de Python?
• Requisitos previos para decoradores
• Funciones de decoración con parámetros
• Cadenas de Decoradores
Entendiendo Python @ Property
• Uso de Getters y Setters en Python
• Capturando el Poder de @ Propiedad
• Minando en Propiedad
Entendiendo la copia superficial y la copia profunda en Python
• Copiar un objeto en Python
• Módulo de Copia en Python
• Implementando Copia Superficial
• Implementando Copia Profunda
Declaración assert en Python
• ¿Qué se entiende por afirmación?
• Declaración Assert en Python
Trabajando con RegEx de Python
• ¿Qué son las expresiones regulares?
• Especificando Patrones Usando RegEx
• Entendiendo los Tokens de Expresión Regular
• Trabajando con funciones de expresiones regulares en Python
Parser XML de Python
• ¿Qué se entiende por XML?
• Arquitecturas de Analizadores XML y API's
• Entendiendo los Métodos XML
• Analizar XML usando minidom
• Creando nodo XML
• Análisis de XML usando Element Tree
Programación Multihilo en Python
• ¿Qué es la programación multi-hilo?
• Tipos de hilos
• ¿Por qué usar multihilo?
• Python Multihilo Versus Multiprocesamiento
• Módulo de Hilos de Python
• Sincronización de hilos en Python
• Entendiendo la Cola de Prioridad en Múltiples Hilos
Funciones Lambda en Python
• ¿Qué se entiende por Lambda?
• Comprendiendo las Lambdas en Python
• Uso de Lambdas con funciones incorporadas de Python
• Lambdas en filter()
• Lambdas en map()
• Lambdas en reduce()
• ¿Cuándo usar funciones lambda?
• Funciones Lambda frente a funciones regulares
Python JSON
• ¿Qué es JSON?
• Analizar JSON
o Convert from JSON to Python
o Convert from Python to JSON
• Formateando el resultado JSON
• Ordering The JSON Result
Trabajando con base de datos
• Entendiendo la Conexión a la Base de Datos
• Estableciendo conexión a la base de datos
• Creando tabla de base de datos
• Implementando operaciones CRUD en la base de datos
• Entendiendo las propiedades ACID
• Trabajando con Control Transaccional
• Manejo de Errores de Base de Datos
Paquetes de Python en funcionamiento
Python Numpy
• Creación de arreglos Numpy
• Array multidimensional de Numpy utilizando ndarray
• Data Type Objects
• Tipo de dato Objeto (dtype) en NumPy
• Indexación
• Sección básica y indexación avanzada
• Iterando sobre el array
• Operaciones Binarias
• Función matemática
• Operaciones de Cadenas
• Álgebra Lineal
• Clasificación, Búsqueda y Conteo
Pandas
• DataFrame de Pandas
• Creando un DataFrame de Pandas
• Manejando Filas y Columnas en DataFrame de Pandas
• Indexación y selección de datos con Pandas
• Indexación Booleana en Pandas
• Funciones de Conversión en el DataFrame de Pandas
• Iterando sobre filas y columnas en DataFrame de Pandas
• Trabajando con datos faltantes en Pandas
• Trabajando con datos de texto
• Trabajando con Fechas y Horas
• Unión, Conexión y Concatenación
• Series de Pandas
• Creando una serie de Pandas
• Accediendo a elementos de una serie de Pandas
• Análisis de Datos Usando Pandas
• Leer csv utilizando pandas.read_csv()
• Combinar, unir y concatenar DataFrames usando Panda
• Eliminar filas/columnas del DataFrame usando [Link]()
• Comparación y selección de datos en Pandas
Interfaz Gráfica de Usuario de Python
• Python GUI tkinter
• Experimentando con Widgets de Tkinter
• Atributos estándar en Tkinter
• Gestión de Geometría Usando Tkinter
Marcos de trabajo web en Python
• ¿Qué es un marco?
• ¿Por qué necesitamos marcos?
• ¿Cuándo usar frameworks?
• Introducción a lo Básico de Django
• Entendiendo el Entorno de Django
• Creando un Proyecto en Django
• ¿Qué es el ciclo de vida de las aplicaciones?
• Experimentando la interfaz de administración
• Creando Vistas en Django
• Comprendiendo el mapeo de URL
• What is Template System
• Comprendiendo los Modelos de Django
• Redirección de página
• Enviando correos electrónicos
• Trabajando con Vistas Genéricas
• Normas de procesamiento de formularios
• Implementación de la Carga de Archivos
• Configuración de Apache
• Manejo de Cookies en Django
• Entendiendo las Sesiones
• Gestión de caché
• Comentarios en Django