Materiales del entrenamiento de
programación en Python - Nivel
básico
Publicación 0.2
Leonardo J. Caballero G.
06 de January de 2019
Covantec R.L., Santa Cruz de Mara, Mara, Zulia. 4046.
Telf. +58-262-879.18.80 / +58-426-771.35.73 / +58-414-979.80.83
Contactos:
[email protected] - https://github.com/Covantec/
Índice general
1. Introducción al lenguaje Python
.
.
.
.
.
.
1.1. Acerca de Python .
1.2. Características .
.
.
1.3. Ventajas y desventajas .
.
1.4.
.
1.5. Su primer programa .
.
Instalación .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Introspección del lenguaje Python
2.1.
Inmersión al modo interactivo .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Tipos y estructuras de datos
.
Jerarquía de tipos estándar .
.
.
3.1.
3.2. Variables y constantes .
.
3.3. Operadores de asignaciones .
.
3.4. Operadores aritméticos .
.
.
.
.
3.5. Operadores relacionales .
.
.
.
3.6. Tipo números .
.
.
3.7. Tipo booleanos .
.
.
3.8. Tipo cadenas de caracteres .
.
.
.
.
3.9. Tipo listas
.
.
.
3.10. Tipo tuplas .
.
.
.
3.11. Tipo diccionarios .
3.12. Tipo conjuntos .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4. Bloques de código y estructuras de control
.
.
4.1. Condicional if
.
4.2. Operadores lógicos .
.
4.3. Bucle while .
.
.
4.4. Bucle for .
4.5.
Iteradores .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
8
11
12
13
15
15
25
25
26
32
35
37
40
43
45
56
61
63
73
81
81
84
85
88
90
5. Funciones y programación estructurada
.
.
.
.
.
5.1. Programación estructurada .
.
.
5.2. Funciones .
.
.
.
5.3. Funciones avanzadas .
.
5.4. Funciones recursivas .
.
.
5.5. Funciones de orden superior .
5.6. Funciones integradas .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
97
97
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
98
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6. Introspección a la depuración con pdb
6.1. Depuración con pdb .
.
.
.
.
.
141
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
7. Operaciones de E/S y manipulación de archivos
149
I
7.1. Entrada/Salida en Python .
.
7.2. Manipulación de archivos
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
8. Módulos, paquetes y distribución de software
157
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
.
8.1. Módulos Python .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
8.2. Paquetes Python .
.
8.3. Distribución de Software .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.4. Scaffolding en proyectos Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9. Manejos de errores y orientación a objetos
179
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
9.1. Errores y excepciones
.
9.2. Excepciones integradas .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
9.3. Programación orientada a objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
.
.
.
9.4. Herencia .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
.
9.5. Abstracción .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
9.6. Polimorfismo .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
9.7. Objetos de tipos integrados
9.8. Clases de tipos integrados .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10. Decoradores y la librería estándar
.
.
10.1. Decoradores
.
.
10.2. Listas de comprensión .
.
10.3. La librería estándar Python .
.
.
.
10.4. Fecha y hora .
.
.
.
.
.
.
.
.
.
.
.
.
.
223
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
.
.
.
.
11. Apéndices
.
.
.
.
.
.
.
229
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
11.1. Operadores .
.
11.2. Esquema del entrenamiento .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
11.3. Lecturas suplementarias del entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
.
11.4. Glosario .
.
.
11.5. Licenciamientos
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
11.6. Tareas pendientes .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
12. Búsqueda
A. Operadores
A.1. Operadores de asignaciones .
.
A.2. Operadores aritméticos .
.
.
A.3. Operadores relacionales .
A.4. Operadores lógicos .
.
.
.
.
.
.
.
253
255
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
.
.
.
.
B. Esquema del entrenamiento
259
B.1. Lección 1 - Introducción al lenguaje Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
B.2. Lección 2 - Introspección del lenguaje Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
B.3. Lección 3 - Tipos y estructuras de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
B.4. Lección 4 - Bloques de código y estructuras de control . . . . . . . . . . . . . . . . . . . . . . . 259
B.5. Lección 5 - Funciones y programación estructurada . . . . . . . . . . . . . . . . . . . . . . . . . 260
B.6. Lección 6 - Introspección a la depuración con pdb . . . . . . . . . . . . . . . . . . . . . . . . . 260
B.7. Lección 7 - Operaciones de E/S y manipulación de archivos . . . . . . . . . . . . . . . . . . . . 260
B.8. Lección 8 - Módulos, paquetes y distribución de software
. . . . . . . . . . . . . . . . . . . . . 260
B.9. Lección 9 - Manejos de errores y orientación a objetos . . . . . . . . . . . . . . . . . . . . . . . 260
B.10. Lección 10 - Decoradores y la librería estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
C. Lecturas suplementarias del entrenamiento
261
C.1. Lección 1 - Introducción al lenguaje Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
C.2. Lección 2 - Introspección del lenguaje Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
C.3. Lección 3 - Tipos y estructuras de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
C.4. Lección 4 - Bloques de código y estructuras de control . . . . . . . . . . . . . . . . . . . . . . . 265
C.5. Lección 5 - Funciones y programación estructurada . . . . . . . . . . . . . . . . . . . . . . . . . 268
II
C.6. Lección 6 - Introspección a la depuración con pdb . . . . . . . . . . . . . . . . . . . . . . . . . 268
C.7. Lección 7 - Operaciones de E/S y manipulación de archivos . . . . . . . . . . . . . . . . . . . . 269
C.8. Lección 8 - Módulos, paquetes y distribución de software
. . . . . . . . . . . . . . . . . . . . . 270
C.9. Lección 9 - Manejos de errores y orientación a objetos . . . . . . . . . . . . . . . . . . . . . . . 270
C.10. Lección 10 - Decoradores y la librería estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
D. Glosario
275
E. Licenciamientos
279
E.1. Reconocimiento-CompartirIgual 3.0 Venezuela de Creative Commons . . . . . . . . . . . . . . . 279
III
IV
Materiales del entrenamiento de programación en Python - Nivel básico, Publicación 0.2
Repositorio de manuale
Comentarios de: Materiales del entrenamiento de programación en Python - Nivel básico (0)
No hay comentarios