En formato pdf. Contiene 262 páginas.
Índice de Contenidos:
1 ¿Por qué deberías aprender a escribir programas?
1.1 Creatividad y motivación
1.2 Arquitectura hardware de las computadoras
1.3 Comprendiendo la programación
1.4 Palabras y frases
1.5 Conversando con Python
1.6 Terminología: intérprete y compilador
1.7 Escribiendo un programa
1.8 ¿Qué es un programa?
1.9 Los bloques de construcción de los programas
1.10 ¿Qué es posible que vaya mal?
1.11 Depurando los programas
1.12 El camino del aprendizaje
1.13 Glosario
1.14 Ejercicios
2 Variables, expresiones y sentencias
2.1 Valores y tipos
2.2 Variables
2.3 Nombres de variables y palabras claves
2.4 Sentencias
2.5 Operadores y operandos
2.6 Expresiones
2.7 Orden de las operaciones
2.8 Operador módulo
2.9 Operaciones con cadenas
2.10 Petición de información al usuario
2.11 Comentarios
2.12 Elección de nombres de variables mnemónicos
2.13 Depuración
2.14 Glosario
2.15 Ejercicios
3 Ejecución condicional
3.1 Expresiones booleanas
3.2 Operadores lógicos
3.3 Ejecución condicional
3.4 Ejecución alternativa
3.5 Condicionales encadenados
3.6 Condicionales anidados
3.7 Captura de excepciones usando try y except
3.8 Evaluación en cortocircuito de expresiones lógicas
3.9 Depuración
3.10 Glosario
3.11 Ejercicios
4 Funciones
4.1 Llamadas a funciones
4.2 Funciones internas
4.3 Funciones de conversión de tipos
4.4 Funciones matemáticas
4.5 Números aleatorios
4.6 Añadiendo funciones nuevas
4.7 Definición y usos
4.8 Flujo de ejecución
4.9 Parámetros y argumentos
4.10 Funciones productivas y funciones estériles
4.11 ¿Por qué funciones?
4.12 Depuración
4.13 Glosario
4.14 Ejercicios
5 Iteración
5.1 Actualización de variables
5.2 La sentencia while
5.3 Bucles infinitos
5.4 “Bucles infinitos” y break
5.5 Finalizar iteraciones con continue
5.6 Bucles definidos usando for
5.7 Diseños de bucles
5.7.1 Bucles de recuento y suma
5.7.2 Bucles de máximos y mínimos
5.8 Depuración
5.9 Glosario
5.10 Ejercicios
6 Cadenas
6.1 Una cadena es una secuencia
6.2 Obtener el tamaño de una cadena usando len
6.3 Recorriendo una cadena mediante un bucle
6.4 Rebanado de una cadena
6.5 Los cadenas son inmutables
6.6 Iterando y contando
6.7 El operador in
6.8 Comparación de cadenas
6.9 Métodos de cadenas
6.10 Analizando cadenas
6.11 El operador de formato
6.12 Depuración
6.13 Glosario
6.14 Ejercicios
7 Archivos
7.1 Persistencia
7.2 Abrir archivos
7.3 Archivos de texto y líneas
7.4 Lectura de archivos
7.5 Búsqueda a través de un archivo
7.6 Permitiendo al usuario elegir el nombre de archivo
7.7 Utilizando try, except, y open
7.8 Escritura de archivos
7.9 Depuración
7.10 Glosario
7.11 Ejercicios
8 Listas
8.1 Una lista es una secuencia
8.2 Las listas son mutables
8.3 Recorriendo una lista
8.4 Operaciones de listas
8.5 Rebanado de listas
8.6 Métodos de listas
8.7 Eliminando elementos
8.8 Listas y funciones
8.9 Listas y cadenas
8.10 Analizando líneas
8.11 Objetos y valores
8.12 Alias
8.13 Listas como argumentos
8.14 Depuración
8.15 Glosario
8.16 Ejercicios
9 Diccionarios
9.1 Diccionario como un conjunto de contadores
9.2 Diccionarios y archivos
9.3 Bucles y diccionarios
9.4 Análisis avanzado de texto
9.5 Depuración
9.6 Glosario
9.7 Ejercicios
10 Tuplas
10.1 Las Tuplas son inmutables
10.2 Comparación de tuplas
10.3 Asignación de tuplas
10.4 Diccionarios y tuplas
10.5 Asignación múltiple con diccionarios
10.6 Las palabras más comunes
10.7 Uso de tuplas como claves en diccionarios
10.8 Secuencias: cadenas, listas, y tuplas - ¡Dios mío!
10.9 Depuración
10.10 Glosario
10.11 Ejercicios
11 Expresiones regulares
11.1 Coincidencia de caracteres en expresiones regulares
11.2 Extrayendo datos usando expresiones regulares
11.3 Combinando búsqueda y extracción
11.4 Escapado de Caracteres
11.5 Resumen
11.6 Sección adicional para usuarios de Unix / Linux
11.7 Depuración
11.8 Glosario
11.9 Ejercicios
12 Programas en red
12.1 Protocolo de Transporte de Hipertexto - HTTP
12.2 El navegador web más sencillo del mundo
12.3 Recepción de una imagen mediante HTTP
12.4 Recepción de páginas web con urllib
12.5 Leyendo archivos binarios con urllib
12.6 Análisis the HTML y rascado de la web
12.7 Análisis de HTML mediante expresiones regulares
12.8 Análisis de HTML mediante BeautifulSoup
12.9 Sección extra para usuarios de Unix / Linux
12.10 Glosario
12.11 Ejercicios
13 Uso de Servicios Web
13.1 eXtensible Markup Language - XML
13.2 Análisis de XML
13.3 Desplazamiento a través de los nodos
13.4 JavaScript Object Notation - JSON
13.5 Análisis de JSON
13.6 Interfaces de programación de aplicaciones
13.7 Seguridad y uso de APIs
13.8 Glossary
13.9 Aplicación Nº 1: Servicio web de geocodificación de Google
13.10 Aplicación 2: Twitter
14 Programación Orientada a Objetos
14.1 Manejando programas más grandes
14.2 Cómo empezar
14.3 Usando objetos
14.4 Comenzando con programas
14.5 Subdividiendo un problema
14.6 Nuestro primer objeto de Python
14.7 Clases como tipos
14.8 Ciclo de vida de un objeto
14.9 Múltiples instancias
14.10 Herencia
14.11 Resumen
14.12 Glosario
15 Bases de datos y SQL
15.1 ¿Qué es una base de datos?
15.2 Conceptos sobre bases de datos
15.3 Navegador de bases de datos para SQLite
15.4 Creación de una tabla en una base de datos
15.5 Resumen de Lenguaje de Consultas Estructurado
15.6 Rastreo en Twitter usando una base de datos
15.7 Modelado de datos básico
15.8 Programación con múltiples tablas
15.8.1 Restricciones en tablas de bases de datos
15.8.2 Recuperar y/o insertar un registro
15.8.3 Almacenar las relaciones entre amigos
15.9 Tres tipos de claves
15.10 Uso de JOIN para recuperar datos
15.11 Resumen
15.12 Depuración
15.13 Glosario
16 Visualización de datos
16.1 Mapa de Google a partir de datos geocodificados
16.2 Visualización de redes e interconexiones
16.3 Visualización de datos de correo
A Colaboraciones
A.1 Contributor List for Python para todos
A.2 Contributor List for Python for Everybody
A.3 Lista de colaboradores de “Python para Informáticos”
A.4 Prefacio para “Think Python”
A.5 Lista de colaboradores de “Think Python”
B Detalles del Copyright