Tipos de datos básicos
Números:
Números enteros y números de coma flotante
Operadores y expresiones aritméticas
Funciones matemáticas y métodos numéricos
numero complejos
cadenas de caracteres:
Creación de cadenas de texto en Python
Uso de operadores en cadenas de caracteres
Explorando las funciones integradas para el procesamiento de cadenas de
texto.
Indexación y segmentación de cadenas
Realizando interpolación y formateo de cadenas de texto
Explorando los métodos de la clase str
bytes y matrices de bytes:
Repasando los fundamentos del sistema binario
Familiarizándonos con el objeto bytes en Python
Creación manual de bytes de Python
Manipulación de objetos Bytes en Python
Trabajando con Python Bytes en la práctica
Booleano:
El tipo booleano de Python
Operadores booleanos
Operadores de comparación
Pruebas booleanas en Python
símbolos especiales:
operadores:
Introducción a los operadores y expresiones
El operador de asignación y las sentencias
Operadores y expresiones aritméticas en Python
Operadores y expresiones de comparación en Python
Operadores y expresiones booleanas en Python
Expresiones condicionales o el operador ternario
Operadores y expresiones de identidad en Python
Operadores y expresiones de pertenencia en Python
Operadores y expresiones de concatenación y repetición
El operador morsa y las expresiones de asignación
Operadores y expresiones bit a bit en Python
Precedencia de operadores en Python
Operadores y expresiones de asignación aumentada
Referencia
Índice general
Variable:
Familiarizándonos con las variables en Python
Trabajar con variables en Python
Nomenclatura de variables en Python
Explorando las características principales de las variables
Utilizar métodos complementarios para crear variables
Comprender los alcances variables
tipos de datos contenedores:
lista:
Introducción al tipo de datos lista de Python
Creación de listas en Python
Acceso a elementos de una lista: Indexación
Recuperación de varios elementos de una lista: segmentación
Crear copias de una lista
Actualización de elementos en listas: Asignación de índices
Listas que crecen y se reducen dinámicamente
Concatenación y repetición de listas
Invertir y ordenar listas
Recorrer listas
Explorando otras funciones de las listas
Errores comunes al usar listas en Python
Creación de subclases de la clase de lista integrada.
Poniendo las listas en práctica
Cómo decidir si usar listas
Tuplas:
Introducción al tipo de datos tupla de Python
Construcción de tuplas en Python
Acceso a elementos en una tupla: indexación
Recuperación de múltiples elementos de una tupla
Explorando la inmutabilidad de las tuplas
Empaquetado y desempaquetado de tuplas
Devolución de tuplas desde funciones
Creación de copias de una tupla
Concatenación y repetición de tuplas
Invertir y ordenar tuplas
Recorriendo tuplas en Python
Explorando otras características de las tuplas
Errores comunes al usar tuplas en Python
Uso de alternativas al tipo de tupla integrado
Referencia
Índice general
diccionarios:
Primeros pasos con los diccionarios de Python
Creación de diccionarios en Python
Acceso a los valores del diccionario
Rellenar diccionarios de forma incrementa
Explorando los métodos de la clase dict
Uso de operadores con Diccionarios
Utilice las funciones integradas con los diccionarios.
Iterar sobre diccionarios
Explorando las clases existentes similares a diccionarios
Creación de clases personalizadas tipo diccionario
conjuntos o (set):
Primeros pasos con el tipo de datos set de Python
Creación de conjuntos en Python
Realización de operaciones con conjuntos comunes
Uso de operaciones con conjuntos aumentados
Comparación de conjuntos
Uso de otros métodos de conjuntos
Recorriendo conjuntos
Explorando otras capacidades del conjunto
Estructuras de control:
Familiarizándose con el flujo de control en Python
Uso de sentencias condicionales
Código repetitivo con bucles for y while
Repetición de código mediante recursión
Explorando otras estructuras relacionadas con el flujo de control
Utilizar bloques try … except para controlar el flujo
Coincidencia de patrones con coincidencia… caso
Errores comunes y mejores prácticas
Presentando la declaración de break
Salir de un bucle con un número fijo de iteraciones
Uso de la instrucción break de Python para procesar la entrada
Cómo salir de bucles anidados
Utilizar la palabra clave continúe en lugar de break
Usar break junto con una cláusula else
Palabra clave de continuación de Python
Ejemplos prácticos
Errores comunes
Bajo el capo
Referencia
Índice general
definiendo funciones:
introducción con la palabra def
Familiarizándonos con las funciones en Python
Explorando algunos beneficios de las funciones
Tipos de funciones
Función simple (sin parámetros ni retorno)
Función con parámetro
Función con retorno con la palabra (return)
Parámetros por defecto
Definición de funciones en Python
Llamar a funciones en Python
Regreso desde funciones
Definición y llamada de funciones: Características avanzadas
Utilizar otros métodos avanzados para llamar a funciones
Explorando las características opcionales de las funciones
Un vistazo rápido a las funciones asíncronas
args & kwargs :
Introduccion Args & Kwargs
Args de Python: el asterisco único (*)
Practica con print_ Args ()
Python Kwargs: el doble asterisco (**)
Casos de uso
Practica con Kwargs
Pasar múltiples argumentos a una función
Uso de la variable Args de Python en las definiciones de funciones
Uso de la variable Kwargs de Python en las definiciones de funciones
Ordenar los argumentos en una función
Desempaquetado con los operadores de asterisco: * y **
paso & referencia:
Definición de paso por referencia
Comparación entre paso por referencia y paso por valor.
Uso de construcciones de paso por referencia
Pasar argumentos en Python
Replicando el paso por referencia con Python
Referencia
Índice general
funciones integradas:
Funciones integradas en Python
Uso de funciones integradas relacionadas con las matemáticas
Creación y manipulación de tipos de datos básicos
Creación de tipos de datos de colección
Procesamiento de iterables e iteradores
Procesamiento de entrada y salida
Trabajar con clases, objetos y atributos
Trabajando con ámbitos de Python
Introspeccionando objetos
Ejecutar código Python desde cadenas de texto
Uso de funciones diversas
Manejo de Ficheros:
¿Qué es un fichero?
Operaciones básicas
Puntero del fichero
Ficheros de texto y binarios
Elementos básicos de programación con ficheros
Lectura línea por línea de ficheros en Python
Manejo de excepciones con ficheros
El administrador de contextos with
Otras formas de lectura en Python
Leyendo un fichero con formato complejo
Escritura en un fichero
Consideraciones finales
excepciones:
Estructura básica
Comprender las excepciones y los errores de sintaxis
Generar una excepción en Python
Depuración durante el desarrollo con assert
Manejo de excepciones con el bloque try y except
Proceder después de un intento exitoso con otra cosa
Limpieza después de la ejecución Finalmente
Creación de excepciones personalizadas en Python
Referencia
Índice general
programación orientada a objetos:
¿Qué es la programación orientada a objetos en Python?
Que es clases en poo
¿Cómo se define una clase en Python?
Creando una Clases de Instancia
Creando Clases con Métodos de Clase y Estáticos
Creando Clases Abstractas
Creando Dataclasses (Clases de Datos)
Clases Derivadas (Herencia)
Objeto
Forma de interactuar con otro objeto en Poo
Creando un objetó con instancia
estado de un objeto
Comportamiento de un objeto
Identidad de un objeto
Manipulación de un objeto
Destrucción de un objeto
Atributo
Atributos de Instancia
Atributos de Clase
Niveles de Visibilidad (Acceso)
Método
Métodos de Instancia
Métodos de Clase
Métodos Estáticos
Métodos Especiales (Dunder Methods)
Los 4 Pilares de la POO en Python
Herencia
Encapsulación
Polimorfismo
Abstracción
Decoradores
Referencia
Índice general
modulo & paquetes
módulos
Más sobre los módulos
Ejecutar módulos como scripts
El camino de búsqueda de los módulos
Archivos «compilados» de Python
Módulos estándar
La función dir ()
Paquetes
Importar desde un paquete
Referencias internas en paquetes
Paquetes en múltiples directorios
Palabra import
Importación básica de Python
Importación de recursos
Importaciones dinámicas
El sistema de importación de Python
Consejos y trucos para importar
Palabra as
Palabra from
If_name_”main”
En resumen: permite ejecutar código cuando el archivo se ejecuta como un
script, pero no cuando se importa como un módulo.
¿Cómo funciona la estructura idiomática "nombre-principal"?
¿Cuándo se debe usar el modismo Name-Main en Python?
¿Cuándo se debe evitar el modismo "nombre principal"?
¿De qué manera se debe incluir el modismo "nombre principal"?
¿Es el modismo un código repetitivo que debería simplificarse?
__main__.py
que es __main__py
uso de __main__py
¿Es una buena idea?
Referencia
Índice general
Librería time
Cómo manejar el tiempo en Python usando segundos
Comprender las zonas horarias
Cómo gestionar el tiempo en Python mediante estructuras de datos
Conversión de tiempo en segundos de Python a un objeto
Conversión de un objeto de hora local a segundos
Conversión de un objeto Time de Python a una cadena de texto
Convertir una cadena de tiempo de Python en un objeto
Suspensión de la ejecución
Medición del rendimiento
Librería date time
Programación con fechas y horas
Uso del módulo datetime de Python
Comienza tu cuenta regresiva para PyCon
Trabajar con zonas horarias
Cómo mejorar tu cuenta regresiva para PyCon
Realizando operaciones aritméticas con Python datetime
Finalizando tu cuenta regresiva para PyCon
Alternativas a datetime y dateutil de Python
Lecturas adicionales
Librería calendars
Visualización de calendarios en su terminal
Creación de calendarios basados en texto
Generación y diseño de calendarios HTML
Formato de calendarios para ubicaciones específicas
Trabajar con otras funciones y métodos de calendario de Python
Próximos pasos
Librería math
Familiarizándonos con el módulo matemático de Python
Constantes del módulo matemático
Funciones aritméticas
Funciones de potencia
Funciones logarítmicas
Otras funciones importantes del módulo de matemáticas
cmath vs matemáticas
NumPy vs matemáticas
Referencia
Índice general
Librería tkinter
Crea tu primera aplicación GUI en Python con Tkinter
Trabajar con widgets
Controlar el diseño con gestores de geometría
Cómo hacer que tus aplicaciones sean interactivas
Creación de un convertidor de temperatura (Aplicación de ejemplo)
Creación de un editor de texto (Aplicación de ejemplo)
Librería Numpy
Elegir NumPy: Las ventajas
Instalando NumPy
Hola NumPy: Tutorial sobre cómo ajustar las calificaciones de los
exámenes
Poniéndose en forma: Formas y ejes de matrices
Operaciones de ciencia de datos: Filtrar, ordenar, agregar
Ejemplo práctico 1: Implementación de una serie de Maclaurin
Optimización del almacenamiento: Tipos de datos
Mirando hacia el futuro: Bibliotecas más potentes
Ejemplo práctico 2: Manipulación de imágenes con Matplotlib
Librería pandas
Presentamos el DataFrame de pandas.
Creación de un DataFrame de pandas
Recuperación de etiquetas y datos
Acceso y modificación de datos
Insertar y eliminar datos
Aplicación de operaciones aritméticas
Aplicación de funciones de NumPy y SciPy
Ordenar un DataFrame de pandas
Filtrado de datos
Determinación de las estadísticas de los datos
Manejo de datos faltantes
Iterar sobre un DataFrame de pandas
Trabajar con series temporales
Representación gráfica con DataFrames de pandas
Lecturas adicionales
Referencia
Índice general
Libreria pygame
Antecedentes y configuración
Programa básico de Pygame
Conceptos de Pygame
Diseño básico de juegos
Sprites
Grupos de sprites
Eventos personalizados
Detección de colisiones
Imágenes de sprites
Velocidad del juego
Efectos sonoros
Nota sobre las fuentes
Librería Matplotlib
¿Por qué Matplotlib puede resultar confuso?
Pylab: ¿Qué es y debería usarlo?
La jerarquía de objetos de Matplotlib
Enfoques con Estado frente a enfoques sin Estado
Comprensión de la notación de [Link]()
Las “figuras” detrás de escena
Una explosión de color: imshow() y matshow()
Representación gráfica en Pandas
Conclusión
Más recursos
Apéndice A: Configuración y estilo
Apéndice B: Modo interactivo
Librería asyncio
Un primer vistazo a la E/S asíncrona
E/S asíncrona en Python con asyncio
Patrones comunes de programación de E/S asíncrona
Otras características de E/S asíncrona en Python
E/S asíncrona en contexto
Referencia
Índice general
Librería subprocess
Procesos y subprocesos
Descripción general del módulo subprocess de Python
Uso básico del módulo subprocess de Python
Excepciones de subprocesos
Introducción al intérprete de comandos y a los programas basados en texto
con subprocesos.
Comunicación con procesos
Tuberías y la carcasa
Ideas prácticas
Módulos de Python asociados con subprocesos
La clase Popen
Librería adbutils
Uso
Conectar con el servidor ADB
Enumera todos los dispositivos y obtén el objeto del dispositivo.
Conectar dispositivo remoto
adb forward y adb reverse
Cree una conexión de socket con el dispositivo.
Ejecutar comando de shell
Transferir archivos
Funciones extendidas
Ejecutar en la línea de comando 命令行使用
Variables ambientales
Registro de color
Experimento
Ejemplos
Desarrollar
Observar los datos del socket adb
Referencia
Índice general
Libreria pickle
Serialización en Python
Dentro del módulo pickle de Python
Formatos de protocolo del módulo pickle de Python
Tipos que se pueden y no se pueden serializar
Compresión de objetos encurtidos
Problemas de seguridad con el módulo pickle de Python
Libreria json
Presentamos JSON
Escribiendo JSON con Python
Leyendo JSON con Python
Interacción con JSON
Libreria Random
¿Qué tan aleatorio es aleatorio?
¿Qué significa “criptográficamente seguro”?
Lo que cubrirás aquí
Generadores de números pseudoaleatorios en Python
Generadores de números pseudoaleatorios criptográficamente seguros
(CSPRNG) en Python
Un último candidato: uuid
¿Por qué no usar simplemente SystemRandom por defecto?
Miscelánea: Hashing
Resumen
Libreria logging
Comenzando con el módulo de registro de Python
Creación de un registrador personalizado
Libreria functools
Optimización y Almacenamiento en Caché (Memoización)
Creación y Modificación de Funciones
Transformación de Estructuras e Iterables
Polimorfismo y Clases
Control de Argumentos y Reutilización
Optimización y Caché (Memoización)
Creación de Decoradores Robustos
Reducción y Acumulación
Programación Orientada a Objetos y Polimorfismo
Libreria Django
Sistema de Mapeo Objeto-Relacional (ORM)
Panel de Administración Automático (Django Admin)
Arquitectura MVT (Modelo-Vista-Plantilla)
istema de Autenticación y Seguridad Integrado
Enrutamiento de URLs Flexible
Manejo de Formularios y Validación
Sistema de Middleware y Caché
Librería io
Reanudar
Texto E/S
E/S Binaria
E/S sin formato
Codificación de texto
Codificación
Interfaz de módulo de alto nivel
Jerarquía de clases
Clases base E/S
Archivo sin formato E/S
Corrientes almacenados (búfer)
Texto E/S
Rendimiento
E/S Binaria
Texto E/S
Multihilo
reentrada