Python Aplicadondiceprologo
Python Aplicadondiceprologo
EUGENIA BAHIT
Informática Teórica†
Elida Bahit Research Centre
EBRC Publisher
†
Directora del Elida Bahit Research Centre de Reino Unido. Contacto: www.elidabahit.co.uk
PYTHON APLICADO
© 2020 EUGENIA BAHIT
ISBN: 978-1-8381901-2-5
e-ISBN: 978-1-8381901-3-2
Impreso en:
Índice de contenidos
Prólogo: entender la diferencia entre programar y codificar.......................................7
Inyección de variables................................................................................................45
Métodos de formato..................................................................................................47
Convertir a mayúscula la primera letra............................................................47
Convertir una cadena a minúsculas.................................................................47
Convertir una cadena a mayúsculas.................................................................47
Convertir mayúsculas a minúsculas y viceversa............................................47
Convertir una cadena en Formato Título........................................................48
Centrar un texto...................................................................................................48
Alinear texto a la izquierda.................................................................................48
Alinear texto a la derecha...................................................................................49
Rellenar un texto anteponiendo ceros.............................................................49
Métodos de Búsqueda...............................................................................................49
Contar cantidad de apariciones de un fragmento de texto........................49
Buscar un fragmento de texto dentro de una cadena.................................50
Métodos de Validación..............................................................................................50
Saber si una cadena comienza por un texto determinado..........................50
Saber si una cadena finaliza con un texto determinado..............................50
Saber si una cadena es alfanumérica...............................................................51
Saber si una cadena es alfabética.....................................................................51
Saber si una cadena es numérica......................................................................51
Saber si una cadena contiene solo minúsculas..............................................52
Saber si una cadena contiene solo mayúsculas.............................................52
Saber si una cadena contiene solo espacios en blanco...............................53
Saber si una cadena tiene formato tipo título................................................53
Métodos de Sustitución............................................................................................53
Dar formato a una cadena, sustituyendo texto dinámicamente................53
Reemplazar texto en una cadena......................................................................54
Eliminar caracteres a la izquierda y derecha de una cadena.......................54
Eliminar caracteres a la izquierda de una cadena..........................................55
Eliminar caracteres a la derecha de una cadena............................................55
Métodos de unión y división....................................................................................55
Unir una cadena de forma iterativa..................................................................55
Partir una cadena en tres partes, utilizando un separador..........................56
Partir una cadena en varias partes, utilizando un separador......................56
Partir una cadena en en líneas..........................................................................56
9. Manipulación de listas y tuplas.................................................................................57
Métodos de agregado................................................................................................57
Agregar un elemento al final de la lista............................................................57
Agregar varios elementos al final de la lista....................................................57
Agregar un elemento en una posición determinada.....................................58
Métodos de eliminación............................................................................................58
Eliminar el último elemento de la lista.............................................................58
3
Sucesos dependientes......................................................................................123
Teoría de conjuntos en Python................................................................125
Sucesos independientes...................................................................................126
Teorema de Bayes en Python................................................................................126
Teorema de Bayes y probabilidad de causas................................................126
Datos: caso práctico...................................................................................127
Análisis...........................................................................................................127
Procedimiento..............................................................................................129
Funciones............................................................................................................134
Bibliografía complementaria............................................................................134
20. Estadística descriptiva con Python.....................................................................135
Estadística poblacional y muestral........................................................................135
Medidas descriptivas de tendencia central..................................................135
Medidas descriptivas de dispersión...............................................................136
Cálculos de dispersión...............................................................................136
Frecuencia estadística.............................................................................................138
Frecuencia absoluta...........................................................................................138
Frecuencia relativa.............................................................................................140
Frecuencias acumuladas...................................................................................141
21. Python como CGI para aplicaciones Web.........................................................142
Entender la interfaz CGI.........................................................................................143
Entender el servidor HTTP de Apache................................................................144
Montar un Virtual Host localmente......................................................................147
Instalación y configuración de Apache..........................................................147
Habilitación del módulo cgi..............................................................................148
Definición de un nombre de host nuevo......................................................149
Creación de la estructura de directorios......................................................150
Creación del Virtual Host.................................................................................151
Habilitación del nuevo Virtual Host...............................................................151
Reiniciar Apache.................................................................................................152
Probando la nueva Web...................................................................................152
Separar el HTML del código Python....................................................................153
Envío de correo electrónico...................................................................................155
Métodos GET y POST de HTTP............................................................................158
Recibiendo y analizando solicitudes por GET..............................................158
El método POST: trabajar con datos enviados desde un formulario......160
Carga de archivos con Python.................................................................161
Consideraciones sobre la seguridad..............................................................161
Servir archivos estáticos con Python.............................................................162
Obtener el tipo MIME de un archivo......................................................167
Codificar un archivo en Base 64..............................................................168
22. Conexiones a bases de datos con MySQL® y MariaDB................................169
6 Eugenia Bahit. Python Aplicado.
Configuración de MariaDB.....................................................................................170
Trabajando con MariaDB y MySQL® desde Python........................................172
Seguridad: prevención de inyecciones SQL........................................................178
Función para automatizar consultas SQL............................................................180
23. Programación orientada a objetos con Python................................................181
Breve introducción a la programación orientada a objetos.............................182
Elementos y características de la programación orientada a objetos.....183
Clases.............................................................................................................183
Métodos y propiedades.............................................................................183
Objetos..........................................................................................................184
Polimorfismo................................................................................................184
Encapsulado.................................................................................................185
Herencia........................................................................................................185
Composición................................................................................................186
Visibilidad y Ocultación..............................................................................187
Sobre el uso de self en Python..............................................................................190
Artilugios de la programación orientada a objetos............................................190
El método constructor......................................................................................190
Recorrido de propiedades................................................................................191
Patrón de diseño compuesto y agregación..................................................191
24. Pruebas unitarias.....................................................................................................193
Doctest.......................................................................................................................193
Unittest.......................................................................................................................195
Métodos Assert..................................................................................................195
Descubriendo pruebas.....................................................................................197
Prólogo: entender la diferencia entre programar y codificar 7
entrada del registro necesaria es una línea que comienza por [Thu Aug
print(pila)
máquina (código binario) y los de alto nivel que poseen una estructura
humanamente legible e independiente del hardware.