Iniciar prueba gratuita
Searching...
SoBrief
Español
EnglishEnglish
EspañolSpanish
简体中文Chinese
繁體中文Chinese (Traditional)
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Aprende Python 3 por las malas

Aprende Python 3 por las malas

Una introducción muy simple al terriblemente hermoso mundo de las computadoras y el código
por Zed A. Shaw 2017 319 páginas
3.92
500+ valoraciones
Escuchar
Prueba el acceso completo por 3 días
¡Desbloquea la escucha y mucho más!
Continuar

Ideas clave

1. Domina la Configuración y las Herramientas Esenciales

Solo necesitas un editor, una Terminal y Python.

Asegúrate de tener lo básico bien instalado. Antes de escribir cualquier código, verifica que tu computadora esté correctamente preparada. Esto implica instalar Python 3.6 o superior, un editor de texto para programadores como Atom (evitando IDEs como IDLE) y aprender a usar la interfaz de línea de comandos de tu sistema operativo (Terminal en macOS/Linux, PowerShell en Windows). Estas son tus herramientas fundamentales.

Practica los comandos de la terminal. La línea de comandos es donde ejecutarás tus scripts de Python e interactuarás con tu computadora como un programador. Dedica tiempo a aprender comandos básicos para navegar y gestionar archivos:

  • pwd: Muestra el directorio actual (dónde estás)
  • cd: Cambia de directorio (moverse a otra carpeta)
  • ls (o dir en Windows): Lista el contenido del directorio
  • mkdir: Crea un directorio
  • rmdir: Elimina un directorio

Usa un editor de texto. Un editor para programadores ofrece funciones como resaltado de sintaxis que facilitan la escritura de código. Guarda tus archivos de Python con la extensión .py. Aprende a crear, guardar y abrir archivos con el editor que elijas y a navegar hasta ellos usando la terminal.

2. Escribe el Código Exactamente y Cultiva la Atención al Detalle

Cada carácter debe coincidir para que funcione.

La precisión es fundamental. Programar exige una atención extrema a los detalles. Las computadoras son literales; ejecutan exactamente lo que escribes, no lo que querías escribir. Copiar código carácter por carácter, incluyendo puntuación y espacios, entrena tu mente para enfocarse en estos detalles cruciales.

Desarrolla memoria muscular. Escribir código manualmente, en lugar de copiar y pegar, crea memoria muscular y familiaridad con la sintaxis y los símbolos comunes. Esta repetición es una técnica central del método “a la antigua”, diseñada para construir habilidades fundamentales mediante la práctica.

Detecta diferencias visualmente. Una habilidad clave es poder identificar rápidamente las diferencias entre tu código y el código correcto. Cuando tu código no funciona, compáralo línea por línea con el ejemplo, buscando incluso las discrepancias más pequeñas. Leer el código al revés o en voz alta puede ayudarte a verlo de otra manera y encontrar errores.

3. Comprende los Errores y Aprende a Depurar

Deja de mirar y pregunta.

Los errores son inevitables. Vas a escribir código con fallos. Incluso los programadores experimentados cometen errores. La computadora no está equivocada; tu código sí. Aprender a leer y entender los mensajes de error es crucial para solucionar problemas. El traceback de Python te indica el archivo, la línea y el tipo de error.

Interroga tu código. No te quedes mirando el código roto esperando que la respuesta aparezca. Busca activamente información. Usa sentencias print para mostrar los valores de las variables en distintos puntos de tu programa y ver qué está pasando y dónde falla. Esta es la técnica de depuración más efectiva.

Rompe el código a propósito. Una vez que tu código funcione, intenta romperlo de diferentes maneras. Este ejercicio te ayuda a entender cómo Python interpreta tu código y cómo distintos errores se manifiestan. Aprender a romper código te hace mejor para arreglarlo.

4. Aprende los Tipos de Datos Básicos y Operaciones

En programación, una variable no es más que un nombre para algo...

Almacena información. Las variables son nombres que asignas a datos, como números o texto. Esto hace que tu código sea más legible y manejable. Asigna valores a variables usando el signo = (igual). Los nombres de variables deben ser descriptivos y comenzar con una letra o un guion bajo.

Realiza cálculos. Los lenguajes de programación incluyen formas integradas para hacer operaciones matemáticas. Aprende los símbolos para las operaciones básicas:

  • +: Suma
  • -: Resta
  • *: Multiplicación
  • /: División
  • %: Módulo (resto)
  • <: Menor que
  • >: Mayor que
  • <=: Menor o igual que
  • >=: Mayor o igual que
  • ==: Igual a
  • !=: Distinto de

Trabaja con texto. El texto se representa como “cadenas” (strings) en programación. Las cadenas son secuencias de caracteres encerradas entre comillas simples (') o dobles ("). Puedes insertar variables dentro de cadenas usando f-strings (prefijadas con f) y llaves {}. Secuencias especiales de escape como \n (salto de línea) o \t (tabulación) permiten incluir caracteres difíciles de escribir directamente.

5. Trabaja con Colecciones: Cadenas, Listas y Diccionarios

Un Diccionario (o dict) es una forma de almacenar datos como una lista, pero en lugar de usar solo números para acceder, puedes usar casi cualquier cosa.

Secuencias ordenadas. Las listas son colecciones ordenadas de elementos, creadas con corchetes [] y separadas por comas. Los elementos se acceden por su índice numérico, empezando en 0. Las listas son útiles para mantener el orden y acceder a elementos por posición.

Mapeos clave-valor. Los diccionarios (dicts) son colecciones no ordenadas que almacenan datos como pares clave-valor, creados con llaves {}. Accedes a los valores usando sus claves asociadas, que pueden ser casi cualquier tipo inmutable (como cadenas o números), no solo índices numéricos. Los dicts son útiles para buscar información basada en un identificador específico.

Manipula colecciones. Tanto listas como diccionarios tienen funciones integradas (métodos) para modificar e interactuar con su contenido. Por ejemplo, append() añade un elemento a una lista, pop() elimina y devuelve un elemento, y métodos de diccionarios como get() recuperan valores de forma segura. Entender estos métodos es clave para trabajar con estructuras de datos.

6. Controla el Flujo del Programa con Lógica y Bucles

Una sentencia if crea lo que se llama una “rama” en el código.

Toma decisiones. Las sentencias if permiten que tu programa tome decisiones basadas en si una expresión booleana (algo que evalúa a True o False) es verdadera. El código bajo un if se ejecuta solo si se cumple la condición. Usa elif (else if) para condiciones adicionales y else para una acción por defecto si ninguna condición anterior es verdadera.

Repite acciones. Los bucles permiten repetir un bloque de código varias veces. Los bucles for iteran sobre una secuencia de elementos (como una lista o cadena), ejecutando el bloque para cada elemento. Los bucles while continúan ejecutando un bloque mientras una expresión booleana sea True.

Estructura bloques de código. En Python, los bloques asociados a if, elif, else, for y while se definen por la indentación (cuatro espacios). Un dos puntos : al final de la línea indica el inicio de un nuevo bloque indentado. La indentación correcta es vital para que Python entienda la estructura de tu código.

7. Organiza el Código con Funciones

Las funciones hacen tres cosas: 1. Nombran fragmentos de código... 2. Reciben argumentos... 3. Usando 1 y 2, te permiten crear tus propios “mini-scripts” o “pequeños comandos.”

Agrupa código. Las funciones son bloques nombrados de código reutilizable definidos con la palabra clave def. Permiten agrupar instrucciones relacionadas y darles un nombre descriptivo, haciendo tus programas más organizados y fáciles de entender.

Acepta entradas. Las funciones pueden recibir argumentos (entradas) especificados entre paréntesis () tras el nombre en la línea def. Estos argumentos actúan como variables que reciben valores cuando se llama a la función. Esto permite que las funciones operen con datos diferentes cada vez que se usan.

Produce salidas. Las funciones pueden devolver un valor usando la palabra clave return. Esto permite que el resultado del cálculo de la función se use en otra parte del programa, a menudo asignado a una variable. Las funciones que no devuelven explícitamente un valor retornan implícitamente None.

8. Comprende Conceptos de Programación Orientada a Objetos: Clases y Objetos

Una clase es una forma de agrupar funciones y datos dentro de un contenedor para acceder a ellos con el operador punto (.)

Planos para cosas. Las clases son planos o plantillas para crear nuevos tipos de “cosas” (objetos). Definen las propiedades (atributos, como variables) y comportamientos (métodos, como funciones) que tendrán los objetos de esa clase. Se definen con la palabra clave class.

Instancias de planos. Un objeto es una instancia específica creada a partir de una clase. Creas un objeto “instanciando” la clase, lo que parece llamar al nombre de la clase como una función (por ejemplo, mi_objeto = MiClase()). Cada objeto tiene su propio conjunto único de datos según la definición de la clase.

Inicializa objetos. El método __init__ es una función especial dentro de una clase que se ejecuta automáticamente al crear un nuevo objeto. Se usa para establecer el estado inicial del objeto, asignando valores a sus atributos. El primer parámetro de cualquier método en una clase, incluido __init__, se llama convencionalmente self, que se refiere al propio objeto.

9. Navega las Relaciones en POO: Es-Un, Tiene-Un, Herencia y Composición

La mayoría de los usos de la herencia pueden simplificarse o reemplazarse con composición, y la herencia múltiple debe evitarse a toda costa.

Herencia (Es-Un). La herencia es una relación donde una clase (“hija” o “subclase”) deriva propiedades y comportamientos de otra clase (“padre” o “superclase”). Es una relación “es-un” (por ejemplo, un Perro es un Animal). La clase hija hereda métodos y atributos del padre, que pueden usarse tal cual, sobrescribirse o modificarse con super().

Composición (Tiene-Un). La composición es una relación donde una clase contiene instancias de otras clases como partes. Es una relación “tiene-un” (por ejemplo, un Auto tiene un Motor). En lugar de heredar características, la clase usa la funcionalidad de los objetos que contiene llamando a sus métodos.

Elige sabiamente. Tanto la herencia como la composición fomentan la reutilización de código, pero la composición suele preferirse por su flexibilidad y claridad, especialmente para evitar la complejidad de la “herencia múltiple.” Usa herencia cuando haya una jerarquía clara y funcionalidad compartida; usa composición para ensamblar objetos a partir de partes diferentes.

10. Construye Software Incrementalmente con Pruebas Automatizadas

Probar un software es definitivamente aburrido y tedioso, así que mejor escribe un poco de código que lo haga por ti.

Automatiza la verificación. Las pruebas automatizadas son pequeños fragmentos de código que verifican si otras partes de tu código funcionan como se espera. Usando un framework de pruebas como nose, escribes funciones de prueba (que comienzan con test_) que usan funciones de aserción (como assert_equal) para comprobar resultados.

Desarrolla con pruebas primero. Una técnica poderosa es el “desarrollo guiado por pruebas,” donde escribes la prueba antes que el código que va a probar. Escribes una prueba que describe cómo debería funcionar el código, ves que falla, y luego escribes justo el código necesario para que la prueba pase. Esto asegura que tu código cumple requisitos y es testeable.

Genera confianza. Las pruebas automatizadas ofrecen una red de seguridad. Cuando haces cambios o agregas funciones, ejecutar las pruebas rápidamente te dice si rompiste algo existente. Esto te permite refactorizar y mejorar tu código con mayor confianza, reduciendo el tiempo dedicado a revisar manualmente.

11. Aplica el Conocimiento para Construir una Aplicación Web

La mayoría de lo que hace el software es lo siguiente: 1. Recibe algún tipo de entrada de una persona. 2. La transforma. 3. Muestra algo para reflejar ese cambio.

Los frameworks web simplifican. Construir aplicaciones web implica manejar solicitudes de red, enrutar URLs, procesar entradas de formularios y generar respuestas HTML. Frameworks como Flask ofrecen herramientas y estructura para gestionar estas complejidades, permitiéndote concentrarte en la lógica de tu aplicación.

Gestiona solicitudes y respuestas. Una aplicación web espera solicitudes de un navegador (como pedir una URL específica). Según la URL y el método de la solicitud (GET para ver, POST para enviar formularios), la aplicación ejecuta código Python específico (funciones de vista). Este código procesa la entrada, interactúa con la lógica del juego y genera una respuesta HTML para enviar al navegador.

Usa plantillas y sesiones. Las plantillas (como Jinja2 que usa Flask) permiten crear páginas HTML dinámicas insertando variables y lógica Python dentro de la estructura HTML. Las sesiones ofrecen una forma de almacenar información sobre un usuario específico a lo largo de múltiples solicitudes, esencial para mantener el estado del juego mientras el usuario navega entre páginas.

Última actualización:

Report Issue

Resumen de reseñas

3.92 de 5
Promedio de 500+ valoraciones de Goodreads y Amazon.

Aprender Python 3 a la manera difícil recibe opiniones encontradas. Muchos lo consideran útil para principiantes, valorando su enfoque práctico y el énfasis en la práctica de la programación. Se aprecia su estilo directo y la cobertura exhaustiva de los conceptos básicos. Sin embargo, algunos critican el tono condescendiente del autor y el aumento abrupto de la dificultad hacia el final. Los lectores señalan que, aunque es bueno para aprender la sintaxis, puede no ser ideal para comprender conceptos más complejos. Además, se mencionan como desventajas el contenido desactualizado y la falta de explicación en ciertos temas.

Your rating:
4.44
110 valoraciones
Want to read the full book?

Sobre el autor

Shaw Zed A. es el autor de "Aprende Python 3 a la Fuerza". Es reconocido por sus métodos de enseñanza poco convencionales y su estilo directo al escribir. Shaw destaca la importancia de un aprendizaje práctico, animando a los lectores a teclear el código manualmente en lugar de copiar y pegar. Sus libros están diseñados para simular experiencias reales de programación, incluyendo las frustraciones y desafíos que ello conlleva. Shaw es crítico con ciertas prácticas y herramientas de programación, como los entornos de desarrollo integrados (IDEs) y algunos aspectos de la programación orientada a objetos. Además, ha escrito otros libros de programación dentro de la serie "Aprende a la Fuerza", que abarcan diversos lenguajes y conceptos de programación.

Follow
Escuchar
Now playing
Aprende Python 3 por las malas
0:00
-0:00
Now playing
Aprende Python 3 por las malas
0:00
-0:00
1x
Queue
Home
Swipe
Library
Get App
Try Full Access for 3 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
Read unlimited summaries. Free users get 3 per month
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 4
📜 Unlimited History
Free users are limited to 4
📥 Unlimited Downloads
Free users are limited to 1
Risk-Free Timeline
Hoy: Obtén acceso instantáneo
Escucha resúmenes completos de más de 26.000 libros. ¡Son más de 12.000 horas de audio!
Día 2: Recordatorio de prueba
Te enviaremos una notificación de que tu prueba está por terminar.
Día 3: Tu suscripción comienza
Se te cobrará el Jun 11,
cancela en cualquier momento antes.
Consume 2.8× More Books
2.8× more books Listening Reading
Our users love us
600,000+ readers
Trustpilot Rating
TrustPilot
4.6 Excellent
This site is a total game-changer. I've been flying through book summaries like never before. Highly, highly recommend.
— Dave G
Worth my money and time, and really well made. I've never seen this quality of summaries on other websites. Very helpful!
— Em
Highly recommended!! Fantastic service. Perfect for those that want a little more than a teaser but not all the intricate details of a full audio book.
— Greg M
Save 62%
Yearly
$119.88 $44.99/year/yr
$3.75/mo
Monthly
$9.99/mo
Start a 3-Day Free Trial
3 days free, then $44.99/year. Cancel anytime.
Unlock a world of fiction & nonfiction books
26,000+ books for the price of 2 books
Read any book in 10 minutes
Discover new books like Tinder
Request any book if it's not summarized
Read more books than anyone you know
#1 app for book lovers
Lifelike & immersive summaries
30-day money-back guarantee
Download summaries in EPUBs or PDFs
Cancel anytime in a few clicks
Scanner
Find a barcode to scan

We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel
Settings
General
Widget
Loading...
We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel