CursosEmpresasBlogLiveConfPrecios

Debugging

Clase 14 de 21 • Curso de Python Intermedio: Comprehensions, Lambdas y Manejo de Errores

Clase anteriorSiguiente clase

Contenido del curso

Preparación antes de empezar
  • 1
    Algunas cosas que aprenderás sobre Python en este curso

    Algunas cosas que aprenderás sobre Python en este curso

    01:36
  • 2
    El Zen de Python

    El Zen de Python

    08:30
  • 3
    ¿Qué es la documentación?

    ¿Qué es la documentación?

    04:33
Entorno virtual
  • 4
    ¿Qué es un entorno virtual?

    ¿Qué es un entorno virtual?

    03:56
  • 5
    El primer paso profesional: creación de un entorno virtual

    El primer paso profesional: creación de un entorno virtual

    08:30
  • 6
    Instalación de dependencias con pip

    Instalación de dependencias con pip

    09:53
  • quiz Entorno virtual

Alternativa a los ciclos: comprehensions
  • 7
    Listas y diccionarios anidados

    Listas y diccionarios anidados

    12:32
  • 8
    List comprehensions

    List comprehensions

    07:39
  • 9
    Dictionary comprehensions

    Dictionary comprehensions

    06:00
  • quiz Alternativa a los ciclos: comprehensions

Conceptos avanzados de funciones
  • 10
    Funciones anónimas: lambda

    Funciones anónimas: lambda

    05:42
  • 11
    High order functions: filter, map y reduce

    High order functions: filter, map y reduce

    10:40
  • 12
    Proyecto: filtrando datos

    Proyecto: filtrando datos

    14:35
  • quiz Conceptos avanzados de funciones

Manejo de errores
  • 13
    Los errores en el código

    Los errores en el código

    08:54
  • 14
    Debugging

    Debugging

    12:27
  • 15
    Manejo de excepciones

    Manejo de excepciones

    10:53
  • 16
    Poniendo a prueba el manejo de excepciones

    Poniendo a prueba el manejo de excepciones

    04:12
  • 17
    Assert statements

    Assert statements

    07:55
  • quiz Manejo de errores

Manejo de archivos
  • 18
    ¿Cómo trabajar con archivos?

    ¿Cómo trabajar con archivos?

    06:52
  • 19
    Trabajando con archivos de texto en Python

    Trabajando con archivos de texto en Python

    12:27
  • quiz Manejo de archivos

Conclusión
  • 20
    Reto final: Juego del Ahorcado o Hangman Game

    Reto final: Juego del Ahorcado o Hangman Game

    03:43
  • 21
    Continúa tu camino profesional con Python

    Continúa tu camino profesional con Python

    02:17
    Royer Guerrero Pinilla

    Royer Guerrero Pinilla

    student•
    hace 5 años

    Si usas otro editor y no quieres tener que usar VS Code por algún motivo Python tiene un paquete preinstalado llamado pdb que se puede usar para hacer debuggin, en resumen y lo que yo uso mucho sobre todo cuando desarrollo con Flask o Django (Frameworks para desarrollo web usando Python) uso la siguiente línea de código para hacer un breakpoint en el código

    import pdb; pdb.set_trace()

    Puedes preguntarte al ver esta linea 😱 Punto y coma en python... pues si mi amigo se pueden usar y sirven para decirle cuando termina una línea de código y sigue otra, pero en la misma línea

    Eso lo que va a hacer es que cuando llegue a esto te liberara él tu consola una terminal interactiva para poder consultar tus variables y demás; para salir de la consola debes escribir la letra c y luego un enter

    Documentacion de pdb

      Raul Vazquez Montiel

      Raul Vazquez Montiel

      student•
      hace 5 años

      a partir te python 3.7 existe la funcion nativa breakpoint() que funciona igual sin necesidad de importar nada extra

      Royer Guerrero Pinilla

      Royer Guerrero Pinilla

      student•
      hace 5 años

      Esa no me la sabia

    Alejandro Cruz Martínez

    Alejandro Cruz Martínez

    student•
    hace 5 años

    Muy buena clase, muchas veces con este tipo errores los resolvía ejecutando esa pieza de código que estaba mal en papel y lápiz, de forma manual, para saber que valores tomaban mis variables y ver donde no estaba funcionando como yo quería.

    Nunca imagine que existiera algo así, sin duda me va a servir mucho de ahora en adelante.

      Andersson Candanosa

      Andersson Candanosa

      student•
      hace 5 años

      Yo metia prints intermedios para ver que valores iban tomando jaja. Esto es otra cosa.

      Alfonso Morán

      Alfonso Morán

      student•
      hace 5 años

      hahaha yo también usaba hacía eso y prints intermedios

    Josue Noha Valdivia

    Josue Noha Valdivia

    student•
    hace 5 años

    Debugging:

    • O depuración es una herramienta que traen varios editores de código con el objetivo de solucionar nuestros errores de lógica. Revisemos la herramienta debugging de VSCode
    • En este entorno podemos acceder a funcionalidades como:
      • pause → permite pausar la ejecución del programa
      • step over → permite avanazr un solo paso en el programa
      • step in → igresamos a un bloque secundario del programa (funciones)
      • step out → salimos del bloque secundario
      • restart → reinicia el programa
      • stop → detiene el programa
    • Además podemos generar breakpoints, que son puntos en los que el programa se detendrá para ayudarnos a depurar el código

    Nota:

    • Existen herramientas de debugging propias de python como el módulo pdb o los breakpoints (a partir de python 3.7)
      Eber Laurente Lliuyacc

      Eber Laurente Lliuyacc

      student•
      hace 5 años

      Buen resumen 🤘

      Josue Noha Valdivia

      Josue Noha Valdivia

      student•
      hace 5 años

      Gracias

    Esneider Vélez Peña

    Esneider Vélez Peña

    student•
    hace 4 años

    Pueden crear un atajo en VS code de la función run y el if para no tener que escribir toda la estructura básica sino que el editor te lo ponga directamente de la siguiente manera:

    • Abres una nueva terminal en VS code (Terminal-> New Terminal)
    • Dentro de la consola presionan el shortcut (Ctr + Shift + P)
    • El anterior comando los lleva a la barra de búsqueda con el símbolo > (en caso de que no se los ponga el editor, lo ponen ustedes), ahí escriben: Snippets
    • Seleccionan la opción que dice: Preferences: Configure User Snippets
    • Al seleccionar esa opción les aparecerán todos los lenguajes que soporta VS code y escriben: python y seleccionan la opción que les salga
    • Al seleccionarla se les abrirá un documento python.json
    • Dentro del archivo, después de los comentarios que hay, ponen este código:
    "Insertar formato de entrada":{ "prefix": "_run", "body": [ "def run():", " $0", "", "", "", "if __name__=='__main__':", " run()" ], "description": "Add the entring point" }

    Se debe ver así:

    snippet.png

    Yo le puse como "prefix": "_run", pero ustedes le pueden poner el que deseen, ese va a ser el atajo con el que van a llamar el fragmento de código.

    • Guardan el archivo

    Y ya, de ahí en adelante solo ponen en los archivos .py: _run y les sale esa estructura para que les ahorre tiempo :D, así se vería en el archivo .py:

    snippet2.png
    snippet3.png
    Y pueden hacer así tanto de forma global como para cada lenguaje de la misma manera.

      Julian Castro Pulgarin

      Julian Castro Pulgarin

      student•
      hace 4 años

      ¡Super útil! Muchas gracias Esneider :D

      Renato Agustín Lagos Albornoz

      Renato Agustín Lagos Albornoz

      student•
      hace 4 años

      muchas gracias

    Fernando Lopez

    Fernando Lopez

    student•
    hace 5 años

    mi aporte con list comprehension

    def divisors(num): divisors = [i for i in range(1, num +1) if num % i == 0] return divisors def run(): num = int(input('Ingresa un numero: ')) print(divisors(num)) print("Termino") if __name__ == '__main__': run()
      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Muy limpio tu código !

      Javier Suárez Meerhoff

      Javier Suárez Meerhoff

      student•
      hace 4 años

      gracias!

    Andersson Candanosa

    Andersson Candanosa

    student•
    hace 5 años
      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      xD ambos

      Howerd Sarmiento

      Howerd Sarmiento

      student•
      hace 4 años

      jajajaajaj

    Erik Alejandro Garcia Duarte

    Erik Alejandro Garcia Duarte

    student•
    hace 5 años
    divisors = lambda num: [x for x in range(1, num + 1) if num % x == 0]
      Lucas Sanchez

      Lucas Sanchez

      student•
      hace 5 años

      Lo había utilizado con listcomprehension pero leí tu código y recordé las funciones anónimas para acortar más el código Gracias por tu aporte!

      José Juan Pineda

      José Juan Pineda

      student•
      hace 5 años

      Me regresa None como resultado, podrías compartir el código completo por favor, no sé donde está mi error. Entiendo que devuelve un lambda valor de True y Falso. Pero cómo le hago para imprimir la lista bien??

      Ayuda y saludos!

    Usuario anónimo

    Usuario anónimo

    user•
    hace 4 años

    ✨ El debugging nos permite detectar errores de nuestros proyectos.

    Jefferson Marchan

    Jefferson Marchan

    student•
    hace 5 años

    Código con list comprehension:

    def divisors(num): divisors = [i for i in range(1, num + 1) if num % i == 0] return divisors

    Código con high order function y lambda:

    def divisors(num): divisors = list(filter(lambda i: num % i == 0, range(1, num +1))) return divisors
      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Thanks.

    Alfonso Morán

    Alfonso Morán

    student•
    hace 5 años

    Y yo haciendo debugging a mano con papel y calculadora o excel. Que buena herramienta ofrece Visual Studio Code, definitivamente la empezaré a usar.

      Carlos Guzman

      Carlos Guzman

      student•
      hace 5 años

      Todos los IDEs que conozco traen para hacer debuggin

    Renato Renzo Luna Herrera

    Renato Renzo Luna Herrera

    student•
    hace 4 años

    10 minutos para darme cuenta que el error estaba en el indentado

      Pablo Ezequiel Seitler

      Pablo Ezequiel Seitler

      student•
      hace 4 años

      Utilizando un IDE eso normalmente es fácil de detectar. No sé como será en VS Code pero PyCharm enseguida te empieza a gritar si cualquier parte de tu código no sigue PEP8 (4 espacios de sangria, 2 espacios entre declaración de funciones, variables separadas por underscore, etc...)

      Ruben Dario Hernandez Centeno

      Ruben Dario Hernandez Centeno

      student•
      hace 4 años

      Para esos problemas te sirve mucho PyLint

    Gabriel Missael Barco

    Gabriel Missael Barco

    student•
    hace 4 años

    Debugging.

    • Una de las técnicas para resolver errores de lógica es debugging o depuración. VSCode tiene esto como una de sus funcionalidades. 👀
    • Cuando hacemos debugging, podemos poner pausa a nuestro programa e ir línea por línea viendo que sucede. Podemos avanzar en las líneas de código y, en caso que estemos sobre una línea que llama una función, podemos optar por entrar en esta 🤯.
    • Existen break points o puntos de quiebre 🛑 que nos sirve para detener nuestro programa en un punto específico, donde creamos que nuestro programa falla.
    Alex Bossi

    Alex Bossi

    student•
    hace 4 años

    Profesor digno de una de las mejores universidades, Platzi le acertó al elegir a Facundo como profesor, y aun mas al asignar que enseñe algo que a muchos les suele resultar complicado y frustrante en algunas situaciones si no se enseña con claridad

    Luis Rivero

    Luis Rivero

    student•
    hace 4 años

    Si utilizas VS code puedes ir a ajustes (barra izquierda abajo) , User Snippets y buscar el archivo llamado python.json, ahí puedes pegar esto dentro de las llaves:

    "base": { "prefix": "py:base", "body": [ "def run():", " pass", "", "", "if __name__ == '__main__':", " run()" ] }

    Guardas el archivo y ahora cuando vayas a comenzar a crear un nuevo archivo de python puedes tener la estructura base con el siguiente comando: py:base. Además puedes crear tus propios snippets dentro de ese mismo archivo.

      Ruben Dario Hernandez Centeno

      Ruben Dario Hernandez Centeno

      student•
      hace 4 años

      Que genial! Excelente aporte

    Sergio Orejarena Rueda

    Sergio Orejarena Rueda

    student•
    hace 5 años

    Si estás usando PyCharm, simplemente debes de dar clic derecho sobre el archivo que estás manejando y selecionar la opción de Debug y posteriormente estas serían las funciones de las que se hablaba en la clase: .

    pycharm.png
    .
    debug.png

      Luis Dotto

      Luis Dotto

      student•
      hace 4 años

      No puedo seleccionar un grupo de celdas y debuggear??

    Jose Colmenares

    Jose Colmenares

    student•
    hace 4 años

    Utilizo VSCode para programar. Sin embargo, tengo compañeros de trabajo que utilizan PyCharm y tienen un debugger para Python superior al de Code.

    Vicki Esther Avola

    Vicki Esther Avola

    student•
    hace 5 años

    Yo no pude hacer el ejercicio de Debuggin me sale siempre este error: Variable ${file] can not be resolved. Please open an editor

    El archivo launch.json contiene lo siguiente: { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python: File corrente", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" } ] }

      Jaime Andres Moreno Ramos

      Jaime Andres Moreno Ramos

      student•
      hace 4 años

      Mismo error y al tratar de correr el Run and Debug no puedo poner pausa en el proceso. Quedo pendiente si alguien conoce solución

      Bryan David Rosas Rojas

      Bryan David Rosas Rojas

      student•
      hace 4 años

      tengo el mismo error, quedo atento si alguien encuentra una solución

    Wilmer Felipe Pungo

    Wilmer Felipe Pungo

    student•
    hace 4 años

    No es de Python, pero se entiende

    Sergio Paredes

    Sergio Paredes

    student•
    hace 4 años

    Python tutor nos permite ver paso a paso como se comporta el código y ir viendo los cambios en funciones y variables para llevar seguimiento de los programas, le colocare un acortador por que la web no cuenta con SSL

    https://bit.ly/3glWX3L

    Miguel Andres Rendon Reyes

    Miguel Andres Rendon Reyes

    student•
    hace 4 años

    VS code nos resalta con color amarillo, en dónde está parado nuestro programa (si le pusimos pausa) por lo que, en caso de ser una función, la línea en dónde se encuentra parada nuestra ejecución entonces, podemos revisar con más detalle aquella función.

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads