PDF de programación - Aprenda a Pensar Como un Programador con Python

Imágen de pdf Aprenda a Pensar Como un Programador con Python

Aprenda a Pensar Como un Programador con Pythongráfica de visualizaciones

Actualizado el 28 de Junio del 2021 (Publicado el 19 de Septiembre del 2017)
2.753 visualizaciones desde el 19 de Septiembre del 2017
919,2 KB
312 paginas
Creado hace 22a (01/04/2002)
Aprenda a Pensar Como un Programador

con Python

Aprenda a Pensar Como un Programador

con Python

Allen Downey
Jefirey Elkner
Chris Meyers

Traducido por
Miguel ¶Angel Vilella
¶Angel Arnal
Iv¶an Juanes
Litza Amurrio
Efrain Andia
C¶esar Ballardini

Green Tea Press

Wellesley, Massachusetts

Copyright c 2002 Allen Downey, Jefirey Elkner, y Chris Meyers.

Corregido por Shannon Turlington y Lisa Cutler.

Diseño de la cubierta por Rebecca Gimenez.

Green Tea Press
1 Grove St.
P.O. Box 812901
Wellesley, MA 02482

Se permite copiar, distribuir, y/o modiflcar este documento bajo los t¶erminos de
la GNU Free Documentation License, Versi¶on 1.1 o cualquier versi¶on posterior
publicada por la Free Software Foundation; siendo las Secciones Invariantes
\Pr¶ologo", \Prefacio", y \Lista de Colaboradores", sin texto de cubierta, y
sin texto de contracubierta. Se incluye una copia de la licencia en el ap¶endice
titulado \GNU Free Documentation License".

La GNU Free Documentation License est¶a disponible en www.gnu.org o escri-
biendo a la Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307, USA.

La forma original de este libro es c¶odigo fuente LATEX. La compilaci¶on de este
fuente LATEX tiene el efecto de generar una representaci¶on independiente del
dispositivo de un libro de texto, que puede convertirse a otros formatos e im-
primirse.

El fuente LATEX de este libro y m¶as informaci¶on sobre el proyecto de Libro de
Texto de C¶odigo Abierto est¶an disponibles en

http://www.thinkpython.com

La composici¶on de este libro se realiz¶o utilizando LATEX y LyX. Las ilustraciones
se hicieron con xflg. Todos ellos son programas gratuitos de c¶odigo abierto.

Historia de la impresi¶on:

Abril 2002: Primera edici¶on.

ISBN 0-9716775-0-6

Pr¶ologo

Por David Beazley

Como educador, investigador, y autor de libros, estoy encantado de ver la fl-
nalizaci¶on de este libro. Python es un lenguaje de programaci¶on divertido y
extremadamente f¶acil de usar que en los ¶ultimos años se ha hecho muy popu-
lar. Desarrollado hace diez años por Guido van Rossum, su sintaxis simple y la
sensaci¶on general se deriva en gran parte del ABC, un lenguaje desarrollado en
los 1980s para la enseñanza. Sin embargo, Python tambi¶en se cre¶o para resolver
problemas reales y presenta una variedad amplia de caracter¶‡sticas de lenguajes
de programaci¶on como C++, Java, Modula-3 y Scheme. Debido a esto, una de
las caracter¶‡sticas notables de Python es su atractivo para los desarrolladores
profesionales de progamaci¶on, cient¶‡flcos, investigadores, artistas, y educadores.

A pesar del atractivo de Python para muchas comunidades diferentes, puede
que a¶un se pregunte \>por qu¶e Python?" o \>por qu¶e enseñar programaci¶on
con Python?"No es tarea f¶acil responder a estas preguntas, en especial cuando
la opini¶on popular est¶a del lado de alternativas m¶as masoquistas como C++ y
Java. Sin embargo, pienso que la respuesta m¶as directa es que la progrmaci¶on
en Python es simplemente m¶as divertida y m¶as productiva.

Cuando imparto cursos de inform¶atica, quiero cubrir conceptos importantes,
hacer el material interesante y enganchar a los estudiantes. Desgraciadamente,
hay una tendencia en los cursos de introducci¶on a la programaci¶on a prestar
demasiada atenci¶on a la abstracci¶on matem¶atica que hace que los estudiantes
se frustren con problemas farragosos relacionados con detalles nimios de la sin-
taxis, compilaci¶on, y la aplicaci¶on de reglas aparentemente arcanas. Aunque
tal abstraci¶on y formalismo son importantes para ingenieros profesionales de la
programaci¶on y estudiantes que planean continuar sus estudios de inform¶atica,
decidirse por este enfoque en un curso introductorio s¶olo tiene ¶exito en hacer
aburrida la inform¶atica. Cuando imparto un curso, no quiero tener un aula de
estudiantes sin inspiraci¶on. Quisiera verlos intentando resolver problemas in-
teresantes, explorando ideas diferentes, probando enfoques no convencionales,

vi

Pr¶ologo

rompiendo las reglas, y aprendiendo de sus errores. Al hacerlo, no quiero perder
la mitad del semestre tratando de sortear problemas con una sintaxis abstru-
sa, mensajes de error del compilador incomprensibles, o los varios cientos de
maneras que un programa puede generar un error de proteci¶on general.

Una de las razones por las que me gusta Python es por que proporciona un equi-
librio muy bueno entre lo pr¶actico y lo conceptual. Puesto que Python es un
lenguaje interpretado, los principiantes pueden tomar el lenguaje y empezar a
hacer cosas interesantes casi inmediato, sin perderse el los problemas de compila-
ci¶on y enlazado. Adem¶as, Python viene con una gran biblioteca de m¶odulos que
se pueden usar para hacer toda clase de tareas que abarcan desde programaci¶on
para web a gr¶aflcos. Este enfoque pr¶actico es una buena manera de enganchar a
estudiantes y permite que completen proyectos signiflcativos. Sin embargo, Pyt-
hon tambi¶en puede servir como una base excelente para intruducir conceptos
importantes de inform¶atica. Puesto que Python soporta completamente proce-
dimientos y clases, los estudiantes pueden introducirse gradualmente en temas
como abstracci¶an procedural, estructuras de datos, y programaci¶on orientada
objetos, que son aplicables a cursos posteriores en Java o C++. Python incluso
toma prestada cierta cantidad de caracter¶‡sticas de lenguajes de programaci¶on
funcionales y puede usarse para intruducir conceptos que pudieran ser cubiertos
en mas detalle en cursos de Scheme o Lisp.

Leendo, el prefacio de Jefirey, me sorprenden sus comentarios sobre que Pyt-
hon le permite ver un \m¶as alto nivel de ¶exito y un bajo nivel de frustraci¶on2
que puede \avanzar r¶apido con mejores resultados". Aunque estos comentarios
se refleren a sus cursos introductorios, a veces uso Python por estas mismas
razones en cursos de inform¶atica avanzada en la Universidad de Chicago. En
estos cursos me enfrento constantemente con la desalentadora tarea de cubrir
un mont¶on de material dif¶‡cil en un agotador trimestre de nueve semanas. Aun-
que es ciertamente posible para m¶‡ inigir mucho dolor y sufrimiento usando un
lenguaje como C++, he visto a menudo que ese estilo es ineflcaz, especialmente
cuando el curso se trata de un asunto sin relaci¶on apenas con la \programaci¶on".
Encuentro que usar Python me permite dedicarme m¶as al asunto en cuesti¶on
mientras permito a los estudiantes completar proyectos ¶utiles.

Aunque Python es todav¶‡a un lenguaje joven y en desarollo, creo que tiene
un futuro brillante en la educaci¶on. Este libro es un paso importante en esa
direcci¶on.

David Beazley
Universidad de Chicago
Autor de Python Essential Reference

Prefacio

Por Jefi Elkner

Este libro debe su existencia a la colaboraci¶on hecha posible por la Internet y
al movimiento de software libre. Sus tres autores, un profesor universitario, un
profesor de instituto y un programador profesional, todav¶‡a tienen que conocerse
cara a cara, pero hemos sido capaces de colaborar estrechamente y hemos reci-
bido la ayuda de mucha gente maravillosa que han donado su tiempo y esfuerzo
para ayudar a mejorar este libro.

Creemos que este libro es un testamento a los beneflcios y futuras posibilidades
de este tipo de colaboraci¶on, cuyo marco han establecido Richard Stallman y la
Free Software Foundation.

C¶omo y por qu¶e vine a usar Python

En 1999, el examen de Advanced Placement (AP) de Ciencias de la Computa-
ci¶on del Claustro Escolar se realiz¶o por primera vez en C++. Como en muchos
institutos en todo el pa¶‡s, la decisi¶on de cambiar de lenguaje tuvo un impacto
directo sobre el curriculum de inform¶atica en el Insituto de Yorktown en Ar-
lington, Virgina, donde doy clase. Hasta ese momento, el lenguaje de enseñanza
era Pascal tanto en nuestro curso de primer año como en el AP. Al seguir con
la pr¶actica anterior de dar a los estudiantes dos años de exposici¶on al mismo
lenguaje, tomamos la decisi¶on de cambiar a C++ en el aula de primer año del
curso 1997-98 de modo que estar¶‡amos en sinton¶‡a con el cambio del Claustro
Escolar para el curso AP del año siguiente.

Dos años m¶as tarde, me convenc¶‡ de que C++ era una mala elecci¶on para iniciar
a los estudiantes en la inform¶atica. Aunque es un lenguaje de programaci¶on
muy poderoso, tambi¶en es extremadamente dif¶‡cil de aprender y enseñar. Me
encontr¶e luchando constantemente con la dif¶‡cil sintaxis de C++ y sus m¶ultiples
formas de hacer las cosas, y como consecuencia perd¶‡a muchos estudiantes sin

viii

Prefacio

necesidad. Convencido de que deb¶‡a de haber una elecci¶on mejor para el lenguaje
de nuestro curso de primer año, me puse a buscar una alternativa para C++.

Necesitaba un lenguaje que funcionase tanto en las m¶aquinas de nuestro labo-
ratorio de Linux como en las plataformas Windows y Macintosh que la mayor¶‡a
de los estudiantes ten¶‡an en casa. Quer¶‡a que fuera de c¶odigo abierto, para que
los estudiantes pudieran usarlo en casa sin importar su nivel econ¶omico. Quer¶‡a
un lenguaje utilizado por programadores profesionales, y que tuviera una co-
munidad activa de desarrolladores a su alrededor. Ten¶‡a que soportar tanto la
programaci¶on procedural como la orientada a objetos. Y lo m¶as importante,
ten¶‡a que ser f¶acil de aprender y de enseñar. Cuando investigu¶e las opciones con
estos obejetivos en mente, Python destac¶o como el mejor candidato.

Ped¶‡ a uno de los estudiantes m¶as talentosos de Yorktown, Matt Ahrens, que
probase Python. En dos meses, no s¶olo hab¶‡a aprendido el lenguaje, sino que
escribi¶o una aplicaci¶on llamada pyTicket que permit¶‡a a nuestro personal infor-
mar de problemas tecnol¶ogicos via Web. Sab¶‡a que Matt no pod¶‡a terminar una
aplicaci¶on de tal escala en tan poco tiempo con C++, y este logro, combinado
con la positiva valoraci¶on de Python por parte de Matt, suger¶‡a que Python era
la soluci¶on que buscaba.

Encontrar un libro de texto

Una vez decidido a usa
  • Links de descarga
http://lwp-l.com/pdf7024

Comentarios de: Aprenda a Pensar Como un Programador con Python (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad