PDF de programación - Python para todos

Imágen de pdf Python para todos

Python para todosgráfica de visualizaciones

Publicado el 6 de Mayo del 2018
4.732 visualizaciones desde el 6 de Mayo del 2018
2,3 MB
243 paginas
Creado hace 1a (24/04/2018)
Python para todos

Explorando la información con Python 3

Charles R. Severance

Créditos

Soporte Editorial: Elliott Hauser, Sue Blumenberg
Diseño de portada: Aimee Andrion

Historial de impresión

• 05-Jul-2016 Primera versión completa de Python 3.0
• 20-Dic-2015 Borrador inicial de conversión a Python 3.0

Detalles de Copyright

Copyright ~2009- Charles Severance.

Este trabajo está registrado bajo una Licencia Creative Commons Attribution-
NonCommercial-ShareAlike 3.0 Unported License. Este licencia está disponible
en

http://creativecommons.org/licenses/by-nc-sa/3.0/

Puedes ver lo que el autor considera usos comerciales y no-comerciales de este
material, así como las exenciones de licencia en el Apéndice titulado “Detalles de
Copyright”.

iii

Prólogo

Remezclando un Libro Libre

Se suele decir de los académicos deben “publicar o perecer” continuamente, de
modo que es bastante normal que siempre quieran empezar algo desde cero, para
que sea su propia y flamante creación. Este libro es un experimento, ya que no
parte desde cero, sino que en vez de eso “remezcla” el libro titulado Think Python:
How to Think Like a Computer Scientist (Piensa en Python: Cómo pensar como
un científico de la computación), escrito por Allen B. Bowney, Jeff Elkner, y otros.

En Diciembre de 2009, yo me estaba preparando para enseñar SI502 - Progra-
mación en Red en la Universidad de Michigan por quinto semestre consecutivo, y
decidí que ya era hora de escribir un libro de texto sobre Python que se centrase
en la exploración de datos en lugar de en explicar algoritmos y abstracciones. Mi
objetivo en SI502 es enseñar a la gente habilidades permanentes para el manejo
de 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 aplicar el uso
de la tecnología en sus respectivos campos.

Parecía que no podría encontrar el libro perfecto para mi curso, que estuviera
orientado al manejo de datos en Python, de modo que decidí empezar a escribirlo
por mi mismo. Por suerte, en una reunión de profesores tres semanas antes de las
vacaciones, que era la fecha en que tenía planeado empezar a escribir mi libro desde
cero, el Dr. Atul Prakash me mostró el libro Think Python (Piensa en Python),
que él había utilizado para impartir su curso de Python ese semestre. Se trata
de un texto de Ciencias de la Computación bien escrito, con un enfoque breve,
explicaciones directas y fácil de aprender.

La estructura principal del libro se ha cambiado, para empezar a realizar problemas
de análisis de datos lo antes posible, y para tener una serie de ejemplos funcionales
y de ejercicios sobre el análisis de datos desde el principio.

Los capítulos 2-10 son similares a los del libro Think Python, pero ha habido
cambios importantes. Los ejemplos orientados a números y los ejercicios se han
reemplazado por otros orientados a datos. Los temas se presentan en el orden
necesario para ir creando soluciones de análisis de datos cuya complejidad aumente
progresivamente. Algunos temas como try y except (manejo de excepciones)
se han adelantado, y se presentan como parte del capítulo de los condicionales.
Las funciones se tratan muy por encima hasta que son necesarias para manejar
programas complejos, en lugar de introducirlas como abstracción en las primeras
lecciones. Casi todas las funciones definidas por el usuario se han eliminado del
código de los ejemplos y de los ejercicios excepto en el capítulo 4. La palabra
“recursión”1 no aparece en todo el libro.

Todo el contenido del capítulo 1 y del 11 al 16 es nuevo, centrado en aplicaciones
para el mundo real y en ejemplos simples del uso de Python para el análisis de
datos, incluyendo expresiones regulares para búsqueda y análisis, automatización
de 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 servicios

1Excepto, por supuesto, en esa línea.

iv

web, análisis de datos en formato XML y JSON, creación y uso de bases de datos
usando el Lenguaje de Consultas Estructurado (SQL), y la visualización de datos.

El objetivo final de todos estos cambios es variar la orientación, desde una dirigida
a las Ciencias de la Computación hacia otra puramente informática, que trate
sólo temas adecuados para una clase de tecnología para principiantes, que puedan
resultarles útiles incluso si eligen no ser programadores profesionales.

Los estudiantes que encuentren este libro interesante y quieran ir más allá, de-
berían echar un vistazo al libro Think Python de Allen B. Downey’s. Como ambos
libros comparten un montón de materia, los estudiantes adquirirán rápidamente
habilidades en las áreas adicionales de la programación técnica y pensamiento al-
gorítmico que se tratan en Think Python. Y dado que ambos libros comparten un
estilo de escritura similar, deberían ser capaces de avanzar rápidamente a través
del contenido de Think Python con un esfuerzo mínimo.

Como propietario del copyright de Think Python, Allen me ha dado permiso para
cambiar la licencia del contenido de su libro que se utiliza en éste, y que original-
mente poseía una GNU Free Documentation License a otra más actual, Creative
Commons Attribution — Share Alike license. Así se sigue una tendencia general
en las licencias de documentación abierta, que están pasando desde la GFDL a la
CC-BY-SA (por ejemplo, Wikipedia). El uso de la licencia CC-BY-SA mantiene
la arraigada tradición copyleft del libro, a la vez que hacen más sencillo para los
autores nuevos la reutilización de ese material a su conveniencia.

Personalmente creo que este libro sirve como ejemplo de por qué los contenidos
libres son tan importantes para el futuro de la educación, y quiero agradecer a
Allen B. Downey y a la Cambridge University Press por su amplitud de miras
a la hora de distribuir el libro bajo un copyright abierto. Espero que se sientan
satisfechos con el resultado de mis esfuerzos y deseo que tú como lector también
te sientas satisfecho de nuestros esfuerzos colectivos.

Quiero agradecer a Allen B. Downey y Lauren Cowles su ayuda, paciencia y ori-
entación a la hora de tratar y resolver los problemas de copyright referentes a este
libro.

Charles Severance
www.dr-chuck.com
Ann Arbor, MI, USA
9 de Septiembre, 2013

Charles Severance es Profesor Clínico Adjunto en la Escuela de Información (School
of Information) de la Universidad de Michigan.

Contents

1 ¿Por qué deberías aprender a escribir programas?

1.1 Creatividad y motivación . . . . . . . . . . . . . . . . . . . . . . .

1.2 Arquitectura hardware de las computadoras . . . . . . . . . . . . .

1.3 Comprendiendo la programación . . . . . . . . . . . . . . . . . . .

1.4 Palabras y frases . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5 Conversando con Python . . . . . . . . . . . . . . . . . . . . . . . .

1.6 Terminología: intérprete y compilador . . . . . . . . . . . . . . . .

1

2

3

4

5

6

8

1.7 Escribiendo un programa . . . . . . . . . . . . . . . . . . . . . . .

10

1.8

¿Qué es un programa? . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.9 Los bloques de construcción de los programas . . . . . . . . . . . .

1.10 ¿Qué es posible que vaya mal?

. . . . . . . . . . . . . . . . . . . .

1.11 El camino del aprendizaje . . . . . . . . . . . . . . . . . . . . . . .

1.12 Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.13 Ejercicios

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Variables, expresiones y declaraciones

2.1 Valores y tipos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2 Variables

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

13

15

15

16

19

19

20

2.3 Nombres de variables y palabras claves . . . . . . . . . . . . . . . . . 21

2.4 Statements

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5 Operators and operands . . . . . . . . . . . . . . . . . . . . . . . .

2.6 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.7 Order of operations . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.8 Modulus operator . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.9 String operations . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.10 Asking the user for input

. . . . . . . . . . . . . . . . . . . . . . .

22

22

23

23

24

24

25

v

vi

CONTENTS

2.11 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.12 Choosing mnemonic variable names . . . . . . . . . . . . . . . . . .

2.13 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.14 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.15 Exercises

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Conditional execution

26

27

28

29

30

31

3.1 Boolean expressions

. . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.2 Logical operators . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.3 Conditional execution . . . . . . . . . . . . . . . . . . . . . . . . .

3.4 Alternative execution . . . . . . . . . . . . . . . . . . . . . . . . . .

3.5 Chained conditionals . . . . . . . . . . . . . . . . . . . . . . . . . .

3.6 Nested conditionals . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.7 Catching exceptions using try and except

. . . . . . . . . . . . . .

3.8 Short-circuit evaluation of logical expressions . . . . . . . . . . . .

3.9 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.10 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.11 Exercises

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Functions

4.1 Function calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.2 Built-in functions . . . . . . .
  • Links de descarga
http://lwp-l.com/pdf10864

Comentarios de: Python para todos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad