Python
Programación
1
Escuela Superior Politécnica del Litoral
ESPOL – Python Programación
Libro digital
Versión 2.1 – 2015
Luis Rodríguez Ojeda
2
Python Programación
Prefacio
Este documento es una contribución bibliográfica para los estudiantes que toman un
primer curso de Programación de Computadoras a nivel universitario. El estudio del
material incluido en los primeros doce capítulos no tiene pre-requistos, solamente el
interés en conocer un lenguaje actual que posteriormente pueda ser usado como el
soporte para resolver computacionalmente problemas de diferente nivel de complejidad en
ingeniería, matemáticas y otras áreas. Sin embargo, es deseable que los interesados
tengan algun conocimiento básico de la lógica matemática.
El enfoque didáctico utilizado en este documento es el aprendizaje mediante ejemplos y
desarrollo de ejercicios propuestos. El material incluye muchos ejemplos para describir los
conceptos algorítmicos en forma práctica y su traducción al lenguaje computacional
Python.
Python es un interpretador de instrucciones muy eficiente y de acceso libre y público
disponible para su instalación desde la red internet. El lenguaje Python es fácil de aprender
y aplicar, versátil y muy conveniente para iniciar el aprendizaje de lenguajes de
programación de manera progresiva y creativa usando diferentes metodologías de
programación.
El soporte de este documento es la experiencia desarrollada por el autor impartiendo
cursos de enseñanza de lenguajes de programación para estudiantes de ingeniería y el
haber desarrollado otros documentos digitales de apoyo bibliográfico.
Este documento es de uso público y distribución libre y se adhiere a la corriente de
desarrollar textos digitales que puedan ser actualizados y mejorados continuamente y
disponibles para su uso en línea, reduciendo el consumo de papel y tinta, contribuyendo
así con el cuidado del medio ambiente.
El documento ha sido compilado en un formato que facilita el uso de la información. Se
puede controlar el tamaño del texto en pantalla, agregar un índice electrónico para facilitar
búsqueda de temas, resaltar digitalmente texto, insertar comentarios, notas, enlaces,
revisiones, etc. y que no sería posible en un texto impreso.
Escuela Superior Politécnica del Litoral
Luis Rodríguez Ojeda, M.Sc.
Profesor
2014
[email protected]
ESPOL – Python Programación
3
Organización del material
El capítulo 1 establece un modelo general para la resolución de problemas con el
computador. Los usuarios pudieran darle unos pocos minutos a su lectura.
Los capítulos 2 y 3 son opcionales. Pueden ser de interés para los usuarios que quieran
entender los conceptos abstractos de algoritmos y la construcción de algoritmos
computacionales independientemente de un lenguaje de programación específico.
El capítulo 4 tiene información general acerca de lenguajes de programación y
metodologías de programación. Su lectura tomará pocos minutos
Los capítulos 5, 6, 7 y 8 contienen el material para conocer y practicar el lenguaje de
programación Python. Su estudio cubriría el tiempo de un semestre académico para
estudiantes de carreras de ingeniería.
Los capítulos 9, 10 y 11 son una introducción a temas que normalmente son de interés
para estudiantes que siguen una carrera orientada a áreas computacionales.
Los capítulos 12 y 13 pueden ser de interés para usuarios que tienen un nivel de
conocimientos matemáticos más avanzados y requieren resolver problemas matemáticos
de este tipo con el soporte de librerías especializadas de Python.
ESPOL – Python Programación
Contenido
1
Introducción
1.1
1.2
1.3
Objetivo y requisitos
Metodología
Un modelo para resolver problemas con el computador
2 Algoritmos
2.1
2.2
2.3
2.4
2.5
Estructura de un algoritmo
Lenguajes para escribir algoritmos
Definiciones
Introducción a la construcción de algoritmos
Ejercicios de creación de algoritmos
3
4
5
Construcción de algoritmos computacionales
3.1
3.2
3.3
Instrucciones u operaciones elementales
Diagramas de flujo
Seudo lenguaje
3.3.1 Algunas instrucciones típicas de asignación en
notación algorítmica
3.3.2 Ejercicios con la notación algorítmica: Algoritmos
secuenciales
3.4
Estructuras de control de flujo de un algoritmo
3.4.1 Decisones
3.4.2 Ejercicios con la notación algorítmica: Algoritmos
con decisiones
3.4.3 Ciclos
3.4.4 Ejercicios con la notación algorítmica: Algoritmos
con ciclos
Lenguajes de Programación de Computadoras
4.1
4.2
4.3
Metodologías de programación
Factores para elegir un lenguaje de programación
Lenguajes compilados y lenguajes interpretados
Origen del lenguaje Python
El lenguaje Python
5.1
5.2 Caracteristicas del lenguaje computacional Python
ESPOL – Python Programación
4
10
10
10
10
12
12
13
13
13
16
19
19
21
23
24
25
26
26
32
33
41
42
43
43
44
45
45
46
5
Carga e instalación
5.3
5.4
Extensiones al lenguaje
5.5 Desarrollo de programas
5.6
5.6.14 Práctica computacional en la ventana interactiva
5.6.15 Ejercicios de resolución de problemas en la ventana
Algunos elementos básicos para escribir programas
5.6.1 Tipos de datos básicos
5.6.2 Variables o identificadores
5.6.3 Operadores
5.6.4 Conversión entre tipos de datos
5.6.5 Tipos numéricos en otras bases
5.6.6 Uso de módulos especiales
5.6.7 El sistema de ayuda
5.6.8 Documentación en linea
5.6.9 Depuración de programas
5.6.10 Funciones del módulo math
5.6.11 Traducción de expresiones
5.6.12 Ejercicios de traducción de expresiones
5.6.13 Un ejemplo introductorio desarrollado en
modo interactivo
48
50
51
51
51
52
52
55
56
57
58
59
59
60
61
61
62
63
64
65
65
65
67
68
69
69
70
73
5.7
5.8
interactiva
Instrucción para ingreso de datos
Instrucción para salida de resultados
Instrucciones básicas para programar con Python
Instrucción de asignación
5.7.1
5.7.2 Asignaciones especiales
5.7.3
5.7.4
5.7.5 Documentación de los programas
5.7.6 Encolumnamiento de instrucciones
5.7.7 El primer ejemplo desarrollado en modo de
5.7.8 Ejercicios de programación con las instrucciones
programamación
básicas
aritmética entera
5.7.9 Operadores para aritmética entera
5.7.10 Ejercicios de programación con los operadores para
Decisiones en Python
76
5.8.1 Ejecución condicionada de un bloque de instrucciones 76
5.8.2 Ejecución selectiva entre dos bloques de instrucciones 79
74
75
ESPOL – Python Programación
5.8.3 Decisiones anidadas
5.8.4 Decisiones consecutivas
5.8.5 Ejercicios de programación con decisiones
Números aleatorios
5.10.1 Ejecución repetida de un bloque mediante
5.9
5.10 Ciclos en Python
una condición al inicio
5.10.2 Ejecución repetida de un bloque mediante
una secuencia
5.10.3 Ciclos anidados
5.10.4 La instrucción break
5.10.5 La instrucción continue
5.10.6 La instrucción exit
5.10.7 La instrucción pass
5.10.8 El objeto None
5.10.9 Ejecución repetida de un bloque mediante una
condición al final
5.11
Introducción a validación de datos
5.11.1 Control de excepciones
5.12 Ejercicios de programación con ciclos
5.13 Programas que interactúan con un menú
5.13.1 Ejercicios de programación con menú
Creación de funciones
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
Declaración de una función
Parámetros empaquetados
Parámetros por omisión
Espacio de las variables de programas y funciones
Declaración de variables globales
Funciones sin parámetros
Expresiones lambda
Funciones recursivas
Funciones generadoras
6.9.1 Generadores infinitos
6.9.2
Interrupción de un ciclo doble
6.10 Sugerencias generales para programar con funciones
6.11 Ejercicios con funciones
6
81
84
87
91
93
93
98
115
125
128
129
129
129
130
132
133
138
143
147
148
148
152
152
155
156
157
157
158
161
163
165
166
167
6
ESPOL – Python Programación
7
Listas
Tuplas
Cadenas de caracteres (strings)
Diccionarios
Tipos de datos estructurados
7.1
7.2
7.3
7.4
7.5 Conjuntos
7.6
7.7
169
169
174
176
177
179
Programación de iteraciones con tipos de datos estructurados 181
183
Operaciones con listas
7.7.1 Métodos, operadores y funciones para manejo
183
de listas
7.7.2 Construcción declarativa de listas numéricas
7.7.3 Nombres de listas vinculados
7.7.4 Algunas funciones de la librería estándar para listas
187
189
190
numéricas
7.7.5 Algunas funciones de la librería NumPy para listas
190
Comentarios de: Python Programación (0)
No hay comentarios