Fuente: https://tinyurl.com/28k8b5uc
Cómo pensar como un informático: edición interactiva
Tabla de contenido
- Asignaciones
- 1. Introducción general
- 1.1. El camino del programa
- 1.2. Algoritmos
- 1.3. El lenguaje de programación de Python
- 1.4. Ejecutando Python en este libro
- 1.5. Más sobre programas
- 1.6. ¿Qué es la depuración?
- 1.7. Errores de sintaxis
- 1.8. Errores de tiempo de ejecución
- 1.9. Errores semánticos
- 1.10. Depuración experimental
- 1.11. Idiomas formales y naturales
- 1.12. Un primer programa típico
- 1.13. Comentario
- 1.14. Glosario
- 1.15. Ceremonias
- 2. Datos simples de Python
- 2.1. Variables, expresiones y declaraciones
- 2.2. Valores y tipos de datos
- 2.3. Tipo de funciones de conversión
- 2.4. Variables
- 2.5. Nombres de variables y palabras clave
- 2.6. Declaraciones y expresiones
- 2.7. Operadores y operandos
- 2.8. Aporte
- 2.9. Orden de operaciones
- 2.10. Reasignación
- 2.10.1. Desarrollar su modelo mental de cómo se evalúa Python
- 2.11. Variables de actualización
- 2.12. Glosario
- 2.13. Ceremonias
- 3. Interludio de depuración 1
- 3.1. Cómo ser un programador exitoso
- 3.2. Cómo evitar la depuración
- 3.3. Consejos iniciales para la depuración
- 3.4. Conozca sus mensajes de error
- 3.4.1. Perrero
- 3.4.2. Tipo
- 3.4.3. Nombre de nombre
- 3.4.4. ValueError
- 3.5. Resumen
- 3.6. Ceremonias
- 4. Gráficos de tortuga de Python
- 4.1. ¡Hola pequeñas tortugas!
- 4.2. Nuestro primer programa de tortuga
- 4.3. Instancias: una manada de tortugas
- 4.4. El
for
Bucle - 4.5. Flujo de ejecución del bucle para
- 4.6. La iteración simplifica nuestro programa de tortuga
- 4.7. La función de rango
- 4.8. Algunos métodos y observaciones más de tortuga
- 4.9. Resumen de métodos de tortuga
- 4.10. Glosario
- 4.11. Ceremonias
- 5. módulos de pitón
- 5.1. Módulos y ayuda
- 5.2. Más sobre el uso de módulos
- 5.3. El de matemáticas módulo
- 5.4. El aleatorio módulo
- 5.5. Creación de módulos
- 5.6. Glosario
- 5.7. Ceremonias
- 6. Funciones
- 6.1. Funciones
- 6.2. Funciones que devuelven valores
- 6.3. Prueba unitaria
- 6.3.1.
assert
confor
bucles - 6.3.2. Pruebas de valor de retorno
- 6.3.1.
- 6.4. Las variables y los parámetros son locales
- 6.5. El patrón del acumulador
- 6.5.1. El patrón de acumulador general
- 6.5.2. Una variación en el patrón del acumulador
- 6.6. Las funciones pueden llamar a otras funciones
- 6.7. Resumen de flujo de ejecución
- 6.8. Usando una función principal
- 6.9. Desarrollo de programas
- 6.10. Composición
- 6.11. Un gráfico de barra de tortuga
- 6.12. Glosario
- 6.13. Ceremonias
- 7. Selección
- 7.1. Valores booleanos y expresiones booleanas
- 7.2. Operadores lógicos
- 7.2.1. Opuestos lógicos
- 7.3. Precedencia de operadores
- 7.4. Ejecución condicional: selección binaria
- 7.5. Omitir la delse : selección unary
- 7.6. Condicionales anidados
- 7.7. Condicionales encadenados
- 7.8. Funciones booleanas
- 7.8.1. Más pruebas unitarias
- 7.9. Glosario
- 7.10. Ceremonias
- 8. Más sobre la iteración
- 8.1. Iteración revisitada
- 8.2. El
for
bucle revisitado - 8.3. El
while
Declaración - 8.4. Tortugas para caminar al azar
- 8.5. La secuencia 3n + 1
- 8.6. Método de Newton
- 8.7. El patrón acumulador revisado
- 8.8. Otros usos de
while
- 8.8.1. Valores centinela
- 8.8.2. Validación de entrada
- 8.9. Algoritmos revisitados
- 8.10. Mesas simples
- 8.11. Iteración bidimensional: procesamiento de imágenes
- 8.11.1. El modelo de color RGB
- 8.11.2. Objetos de imagen
- 8.11.3. Procesamiento de imágenes y iteración anidada
- 8.12. Procesamiento de imágenes por su cuenta
- 8.13. Glosario
- 8.14. Ceremonias
- 9. cuerdas
- 9.1. Cuerdas revisitadas
- 9.2. Un tipo de datos de recopilación
- 9.3. Operaciones en cuerdas
- 9.4. Operador de índice: trabajar con los caracteres de una cadena
- 9.5. Métodos de cadena
- 9.5.1. Método de formato de cadena
- 9.6. Longitud
- 9.7. El operador de la rebanada
- 9.8. Comparación de cadenas
- 9.9. Las cuerdas son inmutables
- 9.10. Transversal y el
for
Bucle: por elemento - 9.11. Transversal y el
for
Bucle: por índice - 9.12. Transversal y el
while
Bucle - 9.13. El
in
ynot in
operadores - 9.14. El patrón del acumulador con cadenas
- 9.15. Tortugas y cuerdas y sistemas L
- 9.16. Bucle y recuento
- 9.17. A
find
función - 9.18. Parámetros opcionales
- 9.19. Clasificación de personajes
- 9.20. Resumen
- 9.21. Glosario
- 9.22. Ceremonias
- 10. Listas
- 10.1. Liza
- 10.2. Valores de lista
- 10.3. Longitud de la lista
- 10.4. Acceso a elementos
- 10.5. Membresía en la lista
- 10.6. Concatenación y repetición
- 10.7. Listar rodajas
- 10.8. Las listas son mutables
- 10.9. Eliminación de la lista
- 10.10. Objetos y referencias
- 10.11. Alias
- 10.12. Listas de clonación
- 10.13. Repetición y referencias
- 10.14. Métodos de lista
- 10.15. El retorno de los sistemas L
- 10.16. Agregar versus concatenate
- 10.17. Listas y
for
bucles - 10.18. El patrón del acumulador con listas
- 10.18.1. Acumulando el valor máximo
- 10.18.2. Acumular un resultado de una cadena
- 10.19. Uso de listas como parámetros
- 10.20. Funciones puras
- 10.21. ¿Cuál es mejor?
- 10.22. Funciones que producen listas
- 10.23. Enumere las comprensiones
- 10.24. Listas anidadas
- 10.25. Cadenas y listas
- 10.26.
list
Tipo de función de conversión - 10.27. Tuplas y mutabilidad
- 10.28. Asignación de tupla
- 10.29. Tuples como valores de retorno
- 10.30. Glosario
- 10.31. Ceremonias
- 11. Archivos
- 11.1. Trabajar con archivos de datos
- 11.2. Encontrar un archivo en su disco
- 11.3. Leyendo un archivo
- 11.4. Iterando sobre líneas en un archivo
- 11.5. Métodos alternativos de lectura de archivos
- 11.6. Escribir archivos de texto
- 11.7. Con declaraciones
- 11.8. Obtener algo de la web
- 11.9. Glosario
- 11.10. Ceremonias
- 12. Dicción
- 12.1. Diccionarios
- 12.2. Operaciones de diccionario
- 12.3. Métodos de diccionario
- 12.4. Alias y copia
- 12.5. Matrices escasas
- 12.6. Glosario
- 12.7. Ceremonias
- 13. Excepciones
- 13.1. ¿Qué es una excepción?
- 13.2. Manejo de excepciones Flujo de control
- 13.2.1. Criar y captar errores con
try
yexcept
- 13.2.1. Criar y captar errores con
- 13.3. Pila de tiempos de runet y
raise
dominio - 13.4. Resumen
- 13.5. Excepciones estándar
- 13.6. Principios para usar excepciones
- 13.7. Sintaxis de excepciones
- 13.7.1. Atrapar todas las excepciones
- 13.7.2. Atrapa una excepción específica
- 13.7.3. Atrapar múltiples excepciones específicas
- 13.7.4. Limpieza después de excepciones
- 13.7.5. Un ejemplo de E/S de archivo
- 13.8. El
finally
cláusula deltry
declaración - 13.9. Glosario
- 13.10. Ceremonias
- 14. Aplicaciones web
- 14.1. Aplicaciones web
- 14.2. Cómo funciona la web
- 14.3. Cómo funcionan las aplicaciones web
- 14.4. Aplicaciones web y formularios HTML
- 14.5. Escribir aplicaciones web con Flask
- 14.6. Más sobre Flask
- 14.7. Entrada para una aplicación web de Flask
- 14.8. Aplicaciones web con una interfaz de usuario
- 14.9. Glosario
- 15. Programación de GUI y eventos
- 15.1. Interfaces de usuario gráficas
- 15.2. Programación de GUI
- 15.3. Opciones de programación de GUI
- 15.4. Tkinter
- 15.5. Interfaces preprogramadas de tkinter
- 15.6. Interfaces personalizadas tkinter
- 15.7. Hola Mundo
- 15.8. Cuadros de diálogo estándar de Tkinter
- 15.8.1. Mensajes
- 15.8.2. SÍ/NO PREGUNTAS
- 15.8.3. Entrada de datos de valor único
- 15.8.4. Selector de archivos
- 15.8.5. Selector de color
- 15.9. Widgets de GUI
- 15.10. Creación de widgets
- 15.11. Mangers de diseño
- 15.12. Especificando dimensiones
- 15.13. de lugar Manager de diseño
- 15.14. de cuadrícula Gerente de diseño
- 15.15. paquete Administrador de diseño de
- 15.15.1. Resumen
- 15.16. Agrupaciones de widgets
- 15.17. Eventos de comando
- 15.18. Hola mundo de nuevo
- 15.19. Otros eventos
- 15.20. Procesamiento de eventos de bajo nivel
- 15.21. Enfocar
- 15.22. Vinculación de eventos
- 15.23. Descriptores de eventos
- 15.24. Objetos de eventos
- 15.25. Procesamiento de eventos
- 15.26. El diseño de los programas de GUI
- 15.27. Propiedades de widget comunes
- 15.28. Propiedades de widget específicas
- 15.29. Atributos de widget
- 15.30. Eventos de temporizador
- 15.30.1. Animaciones y tareas repetidas
- 15.30.2. Cancelar eventos de temporizador
- 15.30.3. Múltiples parámetros a las devoluciones de llamada del temporizador
- 15.31. Un ejemplo de programación
- 15.31.1. Un juego de Whack-A-Mole
- 15.31.2. Resumen
- 15.32. Gestión de la complejidad del programa GUI
- 15.32.1. Creando la vista
- 15.32.2. Creando el modelo
- 15.32.3. Creando el controlador
- 15.33. Ceremonias
- 15.34. Glosario
- 16. Recuración
- 16.1. ¿Qué es la recursión?
- 16.2. Calculando la suma de una lista de números
- 16.3. Las tres leyes de recursión
- 16.4. Convertir un entero en una cadena en cualquier base
- 16.5. Visualización de la recursión
- 16.6. Triángulo sierpin
- 16.7. Glosario
- 16.8. Ejercicios de programación
- 16.9. Ceremonias
- 17. Clases y objetos: los conceptos básicos
- 17.1. Programación orientada a objetos
- 17.2. Un cambio de perspectiva
- 17.3. Objetos revisitados
- 17.4. Clases definidas por el usuario
- 17.5. Mejora de nuestro constructor
- 17.6. Agregar otros métodos a nuestra clase
- 17.7. Objetos como argumentos y parámetros
- 17.8. Convertir un objeto a una cadena
- 17.9. Instancias como valores de retorno
- 17.10. Glosario
- 17.11. Ceremonias
- 18. Clases y objetos: cavar un poco más profundo
- 18.1. Fracciones
- 18.2. Los objetos son mutables
- 18.3. Igualdad
- 18.4. Métodos aritméticos
- 18.5. Glosario
- 18.6. Ceremonias
- 19. Herencia
- 19.1. Pilares de OOP
- 19.2. Introducción a la herencia
- 19.3. Extensión
- 19.4. Reutilización a través de la composición
- 19.5. Diagramas de clases
- 19.6. Composición vs. herencia
- 19.7. Estudio de caso: direcciones postales estructuradas
- 19.7.1. Almacenamiento de direcciones postales
- 19.7.2. Almacenamiento de direcciones internacionales
- 19.7.3. Herencia aplicada
- 19.7.4. Una lista de direcciones
- 19.7.5. Usando isinstance
- 20. Pruebas unitarias
- 20.1. Introducción: Pruebas unitarias
- 20.2. Verificación de suposiciones con
assert
- 20.2.1. Diseño de funciones defensivas
- 20.2.2. El
assert
Declaración - 20.2.3. Más
assert
y condiciones previas
- 20.3. Funciones de prueba
- 20.3.1. Pruebas unitarias automatizadas
- 20.3.2. Pruebas unitarias automatizadas con
assert
- 20.3.3. Las pruebas unitarias pueden tener errores
- 20.4. Diseño de funciones comprobables
- 20.4.1. Diseño por contrato
- 20.5. Pruebas unitarias de escritura
- 20.5.1. Prueba basada en especificaciones
- 20.6. Desarrollo de prueba primero
- 20.6.1. Beneficios del desarrollo de prueba primero
- 20.7. Prueba con Pytest
- 20.7.1. Organización de funciones de Pytest
- 20.7.2. Usando pytest
- 20.7.3. Comprender los informes de falla de Pytest
- 20.7.4. Prueba de unidad integrada con pytest
- 20.8. Glosario
- 20.9. Ceremonias
- 21. Artículos ocultos
Labs
Laboratorios
- Animación de astronomía
- Laboratorio de carreras de tortuga
- Dibujo un círculo
- Lecciones de un triángulo
- Finalmente un círculo
- Contando cartas
- Histograma de conteo de letras
- Aproximando el valor de Pi
- Python más allá del navegador
- Experimentando con la secuencia 3n+1
- Trazar una ola sinusoidal
Appendices
Apéndices
- Depuración
- Usar Python en un ide
- Tabla de precedencia del operador
test
código fuente del módulo
Acknowledgements
Agradecimientos
- Aviso de derechos de autor
- Prefacio a la edición interactiva
- ¿Cuál es el trato con el inicio de sesión?
- Cómo contribuir
- Agradecimientos
- Prefacio
- Prefacio a la tercera edición
- La edición local de Rhodes (RLE)
- Prefacio a la primera y segunda edición
- Lista de contribuyentes
- Licencia de documentación gratuita de GNU
- Anexo: cómo usar esta licencia para sus documentos
Índice y búsqueda
Índice
Página de búsqueda
No hay comentarios.:
Publicar un comentario