CursosEmpresasBlogLiveConfPrecios

Assert statements

Clase 17 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
    Sebastián Andrade

    Sebastián Andrade

    student•
    hace 5 años

    A mi me gusta bastante la definicion que nos da Al Sweigart en su libro "How to automate the boring stuff with Python" se las comparto:

    In plain English, an assert statement says, “I assert that this condition holds true, and if not, there is a bug somewhere in the program.” Unlike exceptions, your code should not handle assert statements with try and except; if an assert fails, your program should crash. By failing fast like this, you shorten the time between the original cause of the bug and when you first notice the bug. This will reduce the amount of code you will have to check before finding the code that’s causing the bug.Assertions are for programmer errors, not user errors. For errors that can be recovered from (such as a file not being found or the user enter-ing invalid data), raise an exception instead of detecting it with an assertstatement.

      Alejandro Cruz Martínez

      Alejandro Cruz Martínez

      student•
      hace 5 años

      Entonces por lo que entendí, los Assert nos sirven más para realizar test a nuestra app? es decir yo como programador creo una nueva funcionalidad y afirmo que determinada función hace x cosa con un assert, si este retorna false quiere decir que es error del programador, y para los errores de usuario los manejamos con raise.

      es correcto? en que otro caso a parte de los test podría ser útil?

      Toro David

      Toro David

      student•
      hace 5 años

      Es excelente libro dude

    Jeiber Ignacio Jimenez Bojaca

    Jeiber Ignacio Jimenez Bojaca

    student•
    hace 5 años
    def divisor(num): divisors = [i for i in range(1,num+1) if num%i == 0] return divisors def run(): num = input('Enter a number: ') assert num.isnumeric() and int(num)>0, 'Ingresa solo numeros positivos' print(divisor(int(num))) print('Finish') if __name__ == '__main__': run()
      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Buen algoritmo.

      Erick Armando Sánchez Flores

      Erick Armando Sánchez Flores

      student•
      hace 5 años

      Gracias por el aporte :) tengo el mismo código

    Luis Alejandro Nieto Ruth

    Luis Alejandro Nieto Ruth

    student•
    hace 5 años

    Lo que pude aprecir es que el metodo isnumeric() solo cuando es un numero entero positivo del resto develve false, asi que no hay necesidad de evaluar di el numero es ingresado es negativo ya la isnumeric lo hace por nosotros: ![](

    Captura.PNG

      Alfonso Morán

      Alfonso Morán

      student•
      hace 5 años

      Por lo que significa que basta con un assert y en el mensaje podemos poner que no ingre negativo ni letras

      Luis Alejandro Nieto Ruth

      Luis Alejandro Nieto Ruth

      student•
      hace 5 años

      exactamente

    Josue Noha Valdivia

    Josue Noha Valdivia

    student•
    hace 5 años

    Assert statements

    • Es una manera poco usual de manejar los errores en python
    • Evalúa una condicional, si esta se cumple continuamos con el flujo normal del python, si no se cumple eleva un error del tipo AssertionError y nos muestra un mensaje.
    • Su sintaxis es:
    assert <condicion>, <"mensaje"> <código>
      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Gracias por el resumen.

      Santiago José Hoyos Sanabria

      Santiago José Hoyos Sanabria

      student•
      hace 5 años

      Gracias, gran aporte!

    Mariano Gobea Alcoba

    Mariano Gobea Alcoba

    student•
    hace 4 años

    No es necesario introducir nuevo codigo para el desafio del profesor ya que el metodo ".isnumeric" solo reconoce como strings numericos aquellos que solo tienen numeros. No acepta signos como el "-". Por ello cualquier numero negativo será rechazado por el mismo assert statement que el que rechaza las letras y palabras:

    metodo is numeric.PNG
      Camila Andrea Díaz Serrano

      Camila Andrea Díaz Serrano

      student•
      hace 4 años

      Buen dato

      RAUL SERGIO ESPEJO TICONA

      RAUL SERGIO ESPEJO TICONA

      student•
      hace 4 años

      MUCHAS GRACIAS POR ACLARAR QUE is.numeric() '-'

    Leandro Tenjo

    Leandro Tenjo

    student•
    hace 5 años

    Diferencia importante entre usar assert o try-except

    . Cuando usamos assert además de imprimirse el mensaje de error que escribimos, se muestra también ++todo el TRACEBACK++

    w_assert.png
    . En cambio, cuando usamos try-except solo se muestra el mensaje de error que escribimos en el código
    w_tryExcept.png

      Miguel Martínez

      Miguel Martínez

      student•
      hace 4 años

      Es correcto brother. Eso es lo malo

      Ronny Cartagena

      Ronny Cartagena

      student•
      hace 4 años

      Según vi en los comentarios esto debería suceder porque las afirmaciones son para errores del programador, no errores del usuario, entonces al lanzarnos el traceback es para que el programador revise que falló en el programa.

    Ray Trápala

    Ray Trápala

    student•
    hace 4 años

    De acuerdo a lo que dice la documentación de VsCode, isNumeric devuelve True si todos los caracteres son números. Por lo tanto, un número negativo no cumple con esta condición, devolviendo False. En conclusió, no es necesario realizar el análisis para números negativos porque ya se está verificando Solo basta agregar en el mensaje que debe ingresar números y que sean mayores a cero

      Julian Camilo Sanchez Sosa

      Julian Camilo Sanchez Sosa

      student•
      hace 4 años

      Excelentisimo aporte 👍🏼

      José Jesús Enciso Mayo

      José Jesús Enciso Mayo

      student•
      hace 4 años

      "Era para ver si ponían atención... Y para ver si si verificaban en la terminal sus proyectos" xd

    Andres López

    Andres López

    student•
    hace 5 años

    Mi solución al reto de la clase:

    def divisors(num): divisors = [i for i in range(1, num + 1) if num % i == 0] return divisors def run(): print('*** CALCULAR DIVISORES **\n') num = input(':: Escribe un número: ') error_msg = """ ⚠ Ingresaste una opción incorrecta Las únicas opciones validas son números mayores a 0 NO puedes ingresar LETRAS o NÚMEROS NEGATIVOS """ assert num.isnumeric() and int(num) > 0, error_msg print(divisors(int(num))) print('\nFin del Programa') if __name__ == '__main__': run()
    reto clase
      Rafael Donadio

      Rafael Donadio

      student•
      hace 5 años

      Andrés, me gusto la solución que planteaste muchas gracias!!!

      Camilo Duque

      Camilo Duque

      student•
      hace 5 años

      Una solución práctica y efectiva, me recordó que Python interpreta cualquier prueba condicional como verdadera. Gracias!

    Nicolas Cordoba

    Nicolas Cordoba

    student•
    hace 5 años

    Mi solución

    def run(): num = input('Ingresa un número: ') assert int(num) > 0, "Ingresa números mayores a 0" assert num.isnumeric(), "Ingresa números" print(divisors(int(num))) print('Finalizo')
      Javier Pajarito Caicedo

      Javier Pajarito Caicedo

      student•
      hace 5 años

      Corrí tu solución y funciona :), pero tiene el inconveniente que deja de funcionar el código si se digita una letra.

      Revisé la documentación del método .isnumeric() y dice "Retorna True si todos los caracteres de la cadena son caracteres numéricos y hay, al menos, un carácter"; de esta forma el método:

      1. no acepta negativos porque el signo menos no es un carácter numérico.
      2. no acepta vacíos porque debe tener al menos un carácter.
    Ana Guzmán

    Ana Guzmán

    student•
    hace 5 años
    <def divisor(num): divisors =[i for i in range(1, num + 1) if num % i == 0] return divisors def run(): num = input(f'Ingresa un número: ') assert num.isnumeric() > 0, "ingresa un número positivo" print(divisor(int(num))) print("termino mi programa") if __name__ =='__main__': run()>
      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Thanks.

      clint martinez

      clint martinez

      student•
      hace 4 años

      gracias !!! me ayudo con mi código!!

    Julian Malarino

    Julian Malarino

    student•
    hace 4 años

    Lo deje como lo resolvimos en clase porque al ponerle el signo de negativo el isnumeric detecta al simbolo como un caracter que no puede convertir en entero y por ende no hace falta validar si los numeros son positivos, quedan verificados dentro del mismo assert.

    def divisors(num): divisors =[i for i in range(1,num + 1) if num %i ==0] return divisors def main(): num = input("Ingrese un numero: ") assert num.isnumeric(), "Debes ingresar un número entero positivo." print(f"Los divisores de {num} son:{divisors(int(num))}") if __name__ == '__main__': main()
      David Rosas

      David Rosas

      student•
      hace 4 años

      Cierto, incluye los dos casos :+1:

      clint martinez

      clint martinez

      student•
      hace 4 años

      exacto !!!

    Arles A. Pinzon Molina

    Arles A. Pinzon Molina

    student•
    hace 5 años

    📚 assert condition, error message Se lee como.

    "Afirmo que esta condición es cierta, de lo contrario, manda este mensaje de error.

      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Resumido xD

    Jaime Escobedo Vargas

    Jaime Escobedo Vargas

    student•
    hace 5 años

    Las assert statements son a los try / except lo que las lambda functions a las def functions. No tienen un nombre, son anónimas y se pueden escribir en una sola línea que define un evento en particular

      Moisés Manuel Morín Hevia

      Moisés Manuel Morín Hevia

      student•
      hace 5 años

      Perfecto.

    Usuario anónimo

    Usuario anónimo

    user•
    hace 5 años

    🤔 Los assert statements nos permiten manejar errores mediante expresiones, esto permite reducir líneas de código del proyecto.

    Emilio José Vargas Posada

    Emilio José Vargas Posada

    student•
    hace 4 años

    Tuve que ponerle un lstrip('-') para poder combinarlo con lo presentado en el curso ya que isnumeric sólo devuelve true si son números positivos, sino devolverá false porque el " - " no es numérico para esa función, deben haber otras formas tan sencillas o complejas como por ejemplo probar con el try except si se puede hacer alguna operación matemática y dependiendo de eso podriamos recurrir a una excepción u otra para continuar con assert.

    num = input("Ingresa un número: ") assert num.lstrip('-').isnumeric(), "Debes ingresar un número" assert int(num) > 0, "Debes ingresar un número positivo" print(divisors(int(num))) print("Terminó mi programa")
    Felipe Naranjo

    Felipe Naranjo

    student•
    hace 4 años

    reto assert num.isnumeric(), 'Ingresa solo numeros positivos'

    de hecho la misma linea de código del ejemplo sirve para evitar que el usuario ingrese números negativos ya que la función isnumeric() devuelve true solo si TODOS los caracteres del string son númericos... por lo tanto al ingresar un signo "-" esta función devolverá false

    Mauro Cortes

    Mauro Cortes

    student•
    hace 5 años
    def divisors(num): divisors = [i for i in range(1, num + 1) if num % i == 0] return(divisors) def run(): num = input("Ingresa un numero:") assert num.isnumeric() and int(num) > 0, "Debes ingresar un numero positivo." print(divisors(int(num))) print('El programa ha termindo') if __name__ == '__main__': run()
      Paula Scatarelli

      Paula Scatarelli

      student•
      hace 4 años

      Me encantó tu código pero me surgió una pequeña duda de último momento :

      Vi que al pedir el input no lo conviertes a int en ese momento, entonces no entiendo como puede realizarse la operación de divisores

      Por lo que estoy entendiendo, lo conviertes recién en el momento del print o para el assert

      O esto se vuelve posible (no hacer el input con int) por la presencia de assert?

    Ray Trápala

    Ray Trápala

    student•
    hace 4 años

    Duda:

    Alguién me podrá responder estas dudas que me surgieron:

    • Veo que en el ejercicio solo deja el:
    assert num.isnumeric(), "Debes ingresar un número"
    • Pero el resultado sigue siendo el Traceback junto con el mensaje.
    • ¿Es correcto que salga todo el Traceback?
    • ¿No se debería manejar el Assertion Error con el try - except, para que solo salga el mensaje?
    • ¿Es correcto este planteamiento?
    def divisors(num): divisors = [] for i in range(1, num + 1): if num % i == 0: divisors.append(i) return divisors def run(): try: num = input('Ingrese un número -> ') assert num.isnumeric(), 'Debes ingresar un número' print(divisors(int(num))) except AssertionError as ae: print(ae) if __name__ == '__main__': run()
      Omar Daniel Centeno

      Omar Daniel Centeno

      student•
      hace 4 años

      Hola

      Es correcto manejar los errores del assert con el except y evitar que se imprima el traceback completo. Puedes agregar en el mismo mensaje el tipo de error que manejaste como una forma de tener un control, ya que con algunas aplicaciones podrás manejar más de un tipo de error.

      Pascal Salvador Miranda Valdés

      Pascal Salvador Miranda Valdés

      student•
      hace 4 años

      Puedes añadir un else statement al try statement para ejecutar codigo cuando el try statement pase la prueba, colocando la ejecucion de tu funcion de divisores en el, para tener mas legibilidad. Teoricamente estas intentado ejecutar el codigo del try statement para checkear si la entrada del usuario es valida, pero no intentar ejecutar la funcion de divisores. Por eso seria mas consistente colocarla en el else statement. La logica de los statement es algo asi:

      try: " intenta validar la entrada de usuario con este codigo" except: " si no puedes, ejecuta este codigo" else: " si lograste validar la entrada de usuario, haz esto" finally: "Si falla o no la validacion, ejecuta este codigo siempre al final"
    Martin Antonio Báez Sotomayor

    Martin Antonio Báez Sotomayor

    student•
    hace 4 años

    Les dejo un ejemplo de como usar assert con try and except, un adicional que agrego es el KeybordInterrupt para que el usuario no pueda salir del programa con control c. Espero les sirva

    def user(): try: x = input('Tell me a number between 1 and 10: ') if int(x) not in range(1,11): assert False else: return x except KeyboardInterrupt: print('\nDude You just type a number then you leave...') return user() except ValueError: print('You shoul type a number pal...') return user() except AssertionError: print('You should type a number between 1 and 10...') return user() def run(): return print(user()) if __name__ == '__main__': run()
    Alejandro Vargas

    Alejandro Vargas

    student•
    hace 4 años

    Así los convine

    def divisors(num): divisors = [] for i in range(1, num + 1): if num % i == 0: divisors.append(i) return divisors def run(): try: num = int(input('Ingresa un número: ')) assert num >= 0, "Debes ingresar un número positivo" print(divisors(int(num))) print("Terminó mi programa") except ValueError: print('Sólo puedes ingresar números enteros') if __name__ == '__main__': run()

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