Transcription of Explorando la información con Python 3 Charles R. Severance
1 Python para todosExplorando la informaci n con Python 3 Charles R. SeveranceCr ditosSoporte Editorial: Elliott Hauser, Sue BlumenbergDise o de portada: Toby Koening, Aimee AndrionContribuidores: Juan Carlos Perez Castellanos, Juan Dougnac,Daniel Merino Echeverr a, Jaime Bermeo Ram rez y Fernando Tard de impresi n 02-Abr-2020 Traducci n al Espa ol completa de Python 05-Jul-2016 Primera versi n completa de Python 20-Dic-2015 Borrador inicial de conversi n a Python de CopyrightCopyright ~2009- Charles trabajo est registrado bajo una Licencia Creative Commons Attribution-NonCommercial-ShareAlike Unported License. Este licencia est ver lo que el autor considera usos comerciales y no-comerciales de estematerial, as como las exenciones de licencia en el Ap ndice titulado Detalles deCopyright.
2 IiiPr logoRemezclando un Libro LibreSe suele decir de los acad micos deben publicar o perecer continuamente, demodo que es bastante normal que siempre quieran empezar algo desde cero, paraque sea su propia y flamante creaci n. Este libro es un experimento, ya que noparte desde cero, sino que en vez de eso remezcla el libro tituladoThink Python :How to Think Like a Computer Scientist(Piensa en Python : C mo pensar comoun cient fico de la computaci n), escrito por Allen B. Bowney, Jeff Elkner, y Diciembre de 2009, yo me estaba preparando para ense arSI502 - Progra-maci n en Reden la Universidad de Michigan por quinto semestre consecutivo, ydecid que ya era hora de escribir un libro de texto sobre Python que se centraseen la exploraci n de datos en lugar de en explicar algoritmos y abstracciones.
3 Miobjetivo en SI502 es ense ar a la gente habilidades permanentes para el manejode datos usando Python . Pocos de mis estudiantes pretenden llegar a ser progra-madores de computadoras profesionales. En vez de eso, quieren ser bibliotecarios,gerentes, abogados, bi logos, economistas, etc., que tal vez quieran aplicarel usode la tecnolog a en sus respectivos a que no podr a encontrar el libro perfecto para mi curso, que estuvieraorientado al manejo de datos en Python , de modo que decid empezar a escribirlopor mi mismo. Por suerte, en una reuni n de profesores tres semanas antes de lasvacaciones, que era la fecha en que ten a planeado empezar a escribir mi libro desdecero, el Dr. Atul Prakash me mostr el libroThink Python (Piensa en Python ),que l hab a utilizado para impartir su curso de Python ese semestre.
4 Se tratade un texto de Ciencias de la Computaci n bien escrito, con un enfoque breve,explicaciones directas y f cil de estructura principal del libro se ha cambiado, para empezar a realizar problemasde an lisis de datos lo antes posible, y para tener una serie de ejemplos funcionalesy de ejercicios sobre el an lisis de datos desde el cap tulos 2-10 son similares a los del libroThink Python , pero ha habidocambios importantes. Los ejemplos orientados a n meros y los ejercicios se hanreemplazado por otros orientados a datos. Los temas se presentan en el ordennecesario para ir creando soluciones de an lisis de datos cuya complejidad aumenteprogresivamente. Algunos temas comotryyexcept(manejo de excepciones)se han adelantado, y se presentan como parte del cap tulo de los funciones se tratan muy por encima hasta que son necesarias para manejarprogramas complejos, en lugar de introducirlas como abstracci n en las primeraslecciones.
5 Casi todas las funciones definidas por el usuario se han eliminado delc digo de los ejemplos y de los ejercicios excepto en el cap tulo 4. La palabra recursi n 1no aparece en todo el el contenido del cap tulo 1 y del 11 al 16 es nuevo, centrado en aplicacionespara el mundo real y en ejemplos simples del uso de Python para el an lisis dedatos, incluyendo expresiones regulares para b squeda y an lisis, automatizaci nde tareas en la computadora, descarga de datos a trav s de la red, escaneo de p gi-nas web para recuperar datos, programaci n orientada a objetos, uso de servicios1 Excepto, por supuesto, en esa l , an lisis de datos en formato XML y JSON, creaci n y uso de bases de datosusando el Lenguaje de Consultas Estructurado (SQL)
6 , y la visualizaci n de objetivo final de todos estos cambios es variar la orientaci n, desde una dirigidaa las Ciencias de la Computaci n hacia otra puramente inform tica, que trates lo temas adecuados para una clase de tecnolog a para principiantes, que puedanresultarles tiles incluso si eligen no ser programadores estudiantes que encuentren este libro interesante y quieran ir m s all , de-ber an echar un vistazo al libroThink Pythonde Allen B. Downey s. Como amboslibros comparten un mont n de materia, los estudiantes adquirir n r pidamentehabilidades en las reas adicionales de la programaci n t cnica y pensamiento al-gor tmico que se tratan enThink Python . Y dado que ambos libros comparten unestilo de escritura similar, deber an ser capaces de avanzar r pidamente a trav sdel contenido deThink Pythoncon un esfuerzo m propietario del copyright deThink Python , Allen me ha dado permiso paracambiar la licencia del contenido de su libro que se utiliza en ste, y que original-mente pose a unaGNU Free Documentation Licensea otra m s actual, CreativeCommons Attribution Share Alike license.
7 As se sigue una tendencia generalen las licencias de documentaci n abierta, que est n pasando desde la GFDL a laCC-BY-SA (por ejemplo, Wikipedia). El uso de la licencia CC-BY-SA mantienela arraigada tradici ncopyleftdel libro, a la vez que hacen m s sencillo para losautores nuevos la reutilizaci n de ese material a su creo que este libro sirve como ejemplo de por qu los contenidoslibres son tan importantes para el futuro de la educaci n, y quiero agradecer aAllen B. Downey y a laCambridge University Presspor su amplitud de mirasa la hora de distribuir el libro bajo un copyright abierto. Espero que se sientansatisfechos con el resultado de mis esfuerzos y deseo que t como lector tambi nte sientas satisfecho denuestrosesfuerzos agradecer a Allen B.
8 Downey y Lauren Cowles su ayuda, paciencia y ori-entaci n a la hora de tratar y resolver los problemas de copyright referentes Arbor, MI, USA9 de Septiembre, 2013 Charles Severance es Profesor Cl nico Adjunto en la Escuela de Informaci n (Schoolof Information) de la Universidad de Por qu deber as aprender a escribir programas? Creatividad y motivaci n .. Arquitectura hardware de las computadoras .. Comprendiendo la programaci n .. Palabras y frases .. Conversando con Python .. Terminolog a: int rprete y compilador .. Escribiendo un programa .. Qu es un programa? .. Los bloques de construcci n de los programas .. Qu es posible que vaya mal? .. Depurando los programas .. El camino del aprendizaje.
9 Glosario .. Ejercicios ..172 Variables, expresiones y Valores y tipos .. Variables .. Nombres de variables y palabras claves .. Sentencias .. Operadores y operandos .. Expresiones .. Orden de las operaciones .. Operador m dulo .. Operaciones con cadenas .. Petici n de informaci n al usuario .. Comentarios .. Elecci n de nombres de variables mnem nicos .. Depuraci n .. Glosario .. Ejercicios ..313 Ejecuci n Expresiones booleanas .. Operadores l gicos .. Ejecuci n condicional .. Ejecuci n alternativa .. Condicionales encadenados .. Condicionales anidados .. Captura de excepciones usando try y except .. Evaluaci n en cortocircuito de expresiones l gicas.
10 Depuraci n .. Glosario .. Ejercicios ..434 Llamadas a funciones .. Funciones internas .. Funciones de conversi n de tipos .. Funciones matem ticas .. N meros aleatorios .. A adiendo funciones nuevas .. Definici n y usos .. Flujo de ejecuci n .. Par metros y argumentos .. Funciones productivas y funciones est riles .. Por qu funciones? .. Depuraci n .. Glosario .. Ejercicios ..57 CONTENTSvii5 Iteraci Actualizaci n de variables .. La sentenciawhile.. Bucles infinitos .. Bucles infinitos ybreak.. Finalizar iteraciones concontinue.. Bucles definidos usandofor.. Dise os de bucles .. Bucles de recuento y suma .. Bucles de m ximos y m nimos.