En disciplinas relacionadas con la ingeniería, resolver problemas con la ayuda de una computadora es fundamental. Para ello, es necesario conocer técnicas de programación y aplicarlas utilizando un lenguaje de programación de alto nivel, como Python, que ofrece ventajas significativas para estudiantes universitarios que se adentran en la programación de computadoras. Este libro, "Introducción a la programación en Python", se distingue por resumir las experiencias del autor al impartir cursos de programación. La nueva edición incluye mejoras como un enfoque reforzado en la Programación Orientada a Objetos (POO), nuevos temas, ejercicios resueltos adicionales en cada capítulo y una mayor cantidad de enunciados de ejercicios.
En las disciplinas relacionadas con la ingeniería resulta necesario resolver problemas con la ayuda de una computadora. Sin embargo, también es imprescindible conocer técnicas de programación y aplicarlas mediante un lenguaje de programación de muy alto nivel, con el propósito de dar solución a los problemas. Uno de los más utilizados es Python, pues ofrece muchas ventajas para los estudiantes universitarios que inician en el campo de la programación de computadoras.
A diferencia de otras publicaciones, este libro resume las experiencias del autor al impartir cursos de programación de computadoras. La nueva edición de la obra Introducción a la programación en Python presenta una serie de mejoras que han sido detectadas en los cursos de programación de computadoras; entre ellas, se modificó el orden de los capítulos para darle mayor énfasis a la Programación Orientada a Objetos (POO), se incorporaron nuevos temas, se agregaron varios ejercicios resueltos en cada capítulo y se amplió la cantidad de enunciados de ejercicios por capítulo.
1.1 Algoritmo........................................................................................... 15
1.2 Diagrama de flujo.............................................................................. 17
1.3 Programa.......................................................................................... 19
1.4 Programas y modelos....................................................................... 19
1.5 Lenguajes de programación ............................................................ 20
1.6 El lenguaje de programación Python................................................ 21
1.7 Las ventajas de usar el lenguaje de programación Python............... 24
1.8 Estructura básica de un programa ................................................... 24
1.9 La depuración................................................................................... 25
2.1 Tipos de datos y valores................................................................... 27
2.2. Palabras clave o reservadas............................................................. 28
2.3. Variables............................................................................................ 28
2.4. Instrucciones.......................................................................................... 30
2.4.1. La función print ...................................................................... 30
2.4.2. La función input ..................................................................... 31
2.4.3. La función int ......................................................................... 31
2.4.4. La función help....................................................................... 32
2.5. Estatuto de asignación...................................................................... 32
2.6. Operadores matemáticos................................................................. 33
2.7 Expresiones....................................................................................... 34
2.7.1. Composición de expresiones................................................. 35
8 Introducción a la programación en Phyton
2.7.2. Evaluación de expresiones..................................................... 35
2.8 La ejecución secuencial ................................................................... 36
2.9. Ejercicios........................................................................................... 37
2.9.1. Identificación de conceptos.................................................... 37
2.9.2. Respuesta corta..................................................................... 38
2.9.3. Python como calculadora ...................................................... 39
3. Funciones ................................................................................................... 41
3.1 Funciones de conversión de tipos.................................................... 41
3.2. Funciones matemáticas.................................................................... 42
3.3. Composición de funciones............................................................... 43
3.4. La indentación................................................................................... 44
3.5. Encapsular y generalizar................................................................... 44
3.6. Creación de funciones...................................................................... 45
3.7. Flujo de ejecución............................................................................. 46
3.8. Parámetros y argumentos................................................................. 46
3.9. Variables locales, variables globales y parámetros............................ 48
3.10. El estatuto return............................................................................... 49
3.11. Funciones booleanas........................................................................ 51
3.12. Funciones “lambda”.......................................................................... 52
3.13. Desarrollo de programas................................................................... 52
3.14. Las ventajas de las funciones........................................................... 54
3.15. Ejercicios ............................................................................................. 55
3.15.1. Identificación de conceptos.................................................. 55
3.15.2. Respuesta corta................................................................... 56
3.15.3. Programas............................................................................ 56
4. La programación orientada a objetos......................................................... 63
4.1. La clase............................................................................................. 63
4.2. Los objetos....................................................................................... 65
4.3. Instanciar objetos.............................................................................. 66
4.4. Atributos............................................................................................ 67
4.5. Métodos............................................................................................ 68
4.5.1. Referencia al objeto................................................................ 69
4.5.2. El método __init__................................................................... 69
4.6. Ejemplos de clases........................................................................... 70
4.7. Encapsulamiento.............................................................................. 74
4.8. Ejercicios........................................................................................... 75
4.8.1. Identificación de conceptos.................................................... 75
4.8.2. Respuesta corta..................................................................... 75
4.8.3. Programas.............................................................................. 76
5.1. Expresiones booleanas..................................................................... 81
5.2. Operadores de asignación y de comparación.................................. 82
5.3. La instrucción if................................................................................. 82
5.4. La ejecución alternativa “if-else”........................................................ 84
5.5. La instrucción if… elif … else ........................................................... 85
5.6. Sentencias condicionales anidadas.................................................. 85
5.7. Operadores lógicos........................................................................... 87
5.8. Ejemplo de condicionales................................................................. 88
5.9. El manejo de excepciones................................................................ 89
5.10. Ejercicios .......................................................................................... 91
5.10.1. Identificación de conceptos.................................................. 91
5.10.2. Respuesta corta................................................................... 92
5.10.3. Programas............................................................................ 92
6.1. El estatuto “while”............................................................................. 97
6.2. El estatuto “break”............................................................................ 99
6.3. Ejemplos........................................................................................... 99
6.3.1. Impresión de una tabla de valores........................................ 100
6.3.2. Ejemplo de encapsulamiento y generalización..................... 100
6.3.3. Ejemplo de contar hacia atrás.............................................. 102
6.3.4. Ejemplo de cómo sumar números pares.............................. 102
6.4. Ejercicios ........................................................................................ 103
6.4.1. Identificación de conceptos.................................................. 103
6.4.2. Respuesta corta................................................................... 104
6.4.3. Programas............................................................................ 104
7.1. Operaciones comunes de las secuencias...................................... 111
7.1.1. La indexación........................................................................ 111
7.1.2. La membresía....................................................................... 112
7.1.3. Segmento............................................................................. 112
7.1.4. La longitud, el mínimo y el máximo....................................... 113
7.1.5. La función “range”................................................................ 114
7.1.6. El estatuto “for-in”................................................................. 115
7.1.7. Secuencias y objetos............................................................ 115
7.2. Las listas......................................................................................... 115
7.2.1. Cómo crear una lista............................................................. 116
7.2.2. Cómo acceder a los elementos de una lista......................... 117
7.2.3. Segmentos de listas............................................................. 118
7.2.4. La longitud, el mínimo y el máximo de una lista.................... 118
7.2.5. El recorrido de las listas........................................................ 118
7.2.6. La mutabilidad de las listas................................................... 119
7.2.7. Las listas como argumentos................................................. 120
7.2.8. Las operaciones con listas.................................................... 121
7.2.9. Los métodos de las listas..................................................... 121
7.2.10. Ejemplos de listas............................................................... 123
7.2.10.1. Ejemplo de una lista de números aleatorios............. 123
7.2.10.2. Ejemplo de conteo................................................... 124
7.2.10.3. Ejemplo de una lista de compras............................. 125
7.2.11. Ejercicios ............................................................................ 126
7.3. Matrices.......................................................................................... 130
7.3.1. Algunos tipos de matrices ................................................... 131
7.3.2. Matrices como listas anidadas.............................................. 132
7.3.3. Cómo llenar listas anidadas.................................................. 133
7.3.4. Impresión de listas anidadas................................................. 134
7.3.5. Objetos y listas...................................................................... 135
7.3.6. Alias...................................................................................... 135
7.3.7. Clonación de listas................................................................ 135
7.3.8. Ejercicios ................................................................................. 136
7.3.8.1. Identificación de conceptos............................................... 136
7.3.8.2. Respuesta corta................................................................ 136
7.3.8.3. Programas......................................................................... 138
7.4. Tuplas.............................................................................................. 140
7.4.1. Cómo crear tuplas....................................................................... 140
7.4.2. Las tuplas son inmutables........................................................... 142
7.4.3. Asignación de tuplas................................................................... 142
7.4.4. Tuplas y valores de retorno...................................................... 142
7.4.5. Ejemplo de tuplas.................................................................... 143
7.4.5.1. Ejemplo del zoológico........................................................ 143
7.4.6. Ejercicios ................................................................................. 144
7.4.6.1. Identificación de conceptos............................................... 144
7.4.6.2. Programas......................................................................... 144
7.5. Las cadenas.................................................................................... 147
7.5.1. Indexación............................................................................... 147
7.5.2. Membresía .............................................................................. 148
7.5.3. Segmentos de cadenas ......................................................... 149
7.5.4. La longitud, el mínimo y el máximo de una cadena ................ 149
7.5.5. Operadores para cadenas....................................................... 150
Concatenación (+)........................................................................... 150
Repetición (*)................................................................................... 150
7.5.6. Recorrido de cadenas............................................................. 150
7.5.7. Objetos y cadenas................................................................... 151
7.5.8. Las cadenas son inmutables................................................... 152
7.5.9. Comparación de cadenas....................................................... 152
7.5.10. Ejemplo de cadena.................................................................. 153
7.5.10.1. Ejemplo de un palíndromo............................................... 153
7.5.11. Métodos para manipular objetos de tipo cadena...................... 153
7.5.12. Ejercicios.................................................................................. 156
7.5.12.1. Identificación de conceptos............................................. 156
7.5.12.2. Respuesta corta.............................................................. 157
7.5.12.3. Programas....................................................................... 157
8.1. Módulo os...................................................................................... 161
8.2. Los archivos como objetos ........................................................... 163
8.3. Operaciones básicas con archivos................................................. 163
8.4. Ejemplos de clases y archivos........................................................ 168
8.6. Ejercicios ........................................................................................ 175
8.6.1. Identificación de conceptos.................................................. 175
8.6.2. Respuesta corta................................................................... 176
8.6.3. Programas............................................................................ 176
9.1. Cómo crear diccionarios................................................................. 180
9.2. Cómo recorrer un diccionario.......................................................... 181
9.3. Métodos de diccionarios................................................................. 181
9.4. Operaciones con diccionarios......................................................... 183
9.5. Ejemplos de diccionarios................................................................ 183
9.5.1. Ejemplo de un libro de direcciones....................................... 183
9.5.2. Ejemplo de una lista y un diccionario.................................... 184
9.6. Ejercicios ........................................................................................ 186
9.6.1. Identificación de conceptos.................................................. 186
9.6.2. Respuesta corta................................................................... 186
9.6.3. Programas............................................................................ 186
10.1. La llamada recursiva....................................................................... 191
10.2. El caso base.................................................................................... 192
10.3. El diagrama de pilas ....................................................................... 192
10.4. La recursión infinita......................................................................... 193
10.5. El salto de fe ................................................................................... 193
10.6. Ejemplos de recursividad................................................................ 193
10.6.1. La función factorial.............................................................. 193
10.6.2. La sucesión de Fibonacci................................................... 194
10.7. Verificación de tipos........................................................................ 195
10.8. Ejemplos......................................................................................... 196
10.9. Ejercicios ........................................................................................ 197
10.9.1. Identificación de conceptos................................................ 197
10.9.2. Respuesta corta................................................................. 197
10.9.3. Programas.......................................................................... 197
11.1. Herencia.......................................................................................... 201
11.2. Clases abstractas y clases concretas............................................. 202
11.3. Relaciones entre clases................................................................... 202
11.4. Herencia múltiple............................................................................. 207
11.5. Enmascaramiento de variables....................................................... 207
11.6. Sobre escritura de los métodos...................................................... 208
11.7. Ventajas y desventajas de la herencia............................................. 209
11.8. Sobrecarga..................................................................................... 209
11.9. Polimorfismo................................................................................... 210
11.10. Las instancias como parámetros.................................................... 211
11.11. Las instancias como valor de retorno.............................................. 211
11.12. Ejemplos.......................................................................................... 212
11.12.1. Ejemplo ImpTiempo.......................................................... 212
11.12.2. Ejemplo de incremento..................................................... 213
11.13. Ejercicios ......................................................................................... 214
11.13.1. Identificación de conceptos.............................................. 214
11.13.2. Respuesta corta............................................................... 215
11.13.3. Programas........................................................................ 215
Destinatarios del contenido: Sin restricción