Introducci贸n

1

El Zen de Python

Conjuntos

2

Sets

3

Modificando conjuntos

4

Operaciones con conjuntos

5

Playgrounds: Elimina elementos duplicados usando conjuntos

Comprehensions

6

List Comprehension

7

Dictionary Comprehension

8

Dictionary Comprehension: condition

9

Playgrounds: Crea una lista usando List Comprehension

10

Lists vs. Tuples vs. Sets

Funciones

11

Funciones

12

Funciones: return

13

Par谩metros por defecto y m煤ltiples returns

14

El scope

15

Refactor game

16

Playgrounds: Tienda de Tecnolog铆a

17

Funciones an贸nimas: lambda

18

Higher order function: una funci贸n dentro de otra funci贸n

19

Map

20

Map con diccionarios

21

Reto: map con inmutabilidad

22

Playgrounds: Multiplica todos los elementos por dos

23

Filter

24

Playgrounds: Retorna solo palabras de 4 letras y m谩s

25

Reduce

M贸dulos

26

M贸dulos

27

Mis propios m贸dulos

28

M贸dulos como scripts: __name__ y __main__

29

Paquetes

30

Playgrounds: Calcular la suma de todas las compras

Manipulaci贸n de archivos y errores

31

Iterables

32

Errores en Python

33

Manejo de excepciones

34

Playgrounds: Captura la excepci贸n: ZeroDivisionError

35

Leer un archivo de texto

36

Escribir en un archivo

37

Leer un CSV

38

Playgrounds: Lee un CSV para calcular el total de gastos

Gr谩ficas en Python

39

Creando una gr谩fica

40

Reto: graficando la poblaci贸n de un pa铆s

41

Reto: graficando la poblaci贸n mundial

Pr贸ximos pasos

42

隆Conoce otros proyectos de este curso!

43

Reconoce tu proceso y certif铆cate

44

Toma el Curso de PIP y Entornos Virtuales con Python

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Errores en Python

32/44
Recursos

Aportes 26

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

ERRORES O EXCEPCIONES INTEGRADAS EN PYTHON
En la siguiente tabla podemos encontrar los errores o excepciones que se presentan en Python.

Exception Description
ArithmeticError Se genera cuando se produce un error en los c谩lculos num茅ricos
AssertionError Se genera cuando falla una declaraci贸n de afirmaci贸n
AttributeError Se genera cuando falla la asignaci贸n o la referencia de atributo
Exception Clase base para todas las excepciones
EOFError Se genera cuando el m茅todo input() alcanza una condici贸n de 鈥渇in de archivo鈥 (EOF)
FloatingPointError Se genera cuando falla un c谩lculo de punto flotante
GeneratorExit Se genera cuando se cierra un generador (con el m茅todo close())
ImportError Se genera cuando no existe un m贸dulo importado
IndentationError Se genera cuando la sangr铆a no es correcta
IndexError Se genera cuando no existe un 铆ndice de una secuencia
KeyError Se genera cuando una clave no existe en un diccionario
KeyboardInterrupt Se genera cuando el usuario presiona Ctrl+c, Ctrl+z o Eliminar
LookupError Se genera cuando no se pueden encontrar los errores generados
MemoryError Se genera cuando un programa se queda sin memoria
NameError Se genera cuando una variable no existe
NotImplementedError Se genera cuando un m茅todo abstracto requiere una clase heredada para anular el m茅todo
OSError Se genera cuando una operaci贸n relacionada con el sistema provoca un error
OverflowError Se genera cuando el resultado de un c谩lculo num茅rico es demasiado grande
ReferenceError Se genera cuando no existe un objeto de referencia d茅bil
RuntimeError Se genera cuando ocurre un error que no pertenece a ninguna expectativa espec铆fica
StopIteration Se genera cuando el m茅todo next() de un iterador no tiene m谩s valores
SyntaxError Se genera cuando se produce un error de sintaxis
TabError Se genera cuando la sangr铆a consta de tabulaciones o espacios
SystemError Se genera cuando se produce un error del sistema
SystemExit Se genera cuando se llama a la funci贸n sys.exit()
TypeError Se genera cuando se combinan dos tipos diferentes
UnboundLocalError Se genera cuando se hace referencia a una variable local antes de la asignaci贸n
UnicodeError Se genera cuando se produce un problema Unicode
UnicodeEncodeError Se genera cuando se produce un problema de codificaci贸n Unicode
UnicodeDecodeError Se genera cuando se produce un problema de decodificaci贸n Unicode
UnicodeTranslateError Se genera cuando se produce un problema de traducci贸n Unicode
ValueError Se genera cuando hay un valor incorrecto en un tipo de datos especificado
ZeroDivisionError Se genera cuando el segundo operador en una divisi贸n es cero

Desde aqui muchas felicidades a todos por llegar hasta aqui. 鈺(掳鈻铰)鈺

assert() hace una verificacion y manda un AssertionError cuando no se cumple el 鈥渟tatement鈥

raise Exception() levanta un error creado por nosotros mismo

# print(0 / 0)
# print(result)
print('Hola')

suma = lambda x,y: x + y
assert suma(2,2) == 4

print('Hola 2')

age = 10
if age < 18:
  raise Exception('No se permiten menores de edad')

print('Hola 2')

Por si quieren aprender del testing con Python:
Getting Started With Testing in Python

Errores en Python

#---------- Errores ---------

# error de sintaxis
print(0/0))
--> SyntaxError: unmatched ')'

# error division por cero
print(0/0)
--> ZeroDivisionError: division by zero

#variable no declarada
print(result)
--> NameError: name 'result' is not defined

#verificacion con assert
suma = lambda x, y: x + y
assert suma(2,2) == 5
--> AssertionError

# lanzar errores propios con raise
age = 10
if age < 18:
  raise Exception('No se permiten menores de edad')
--> Exception: No se permiten menores de edad

Prueba de Python excepto

  • Una buena noticia es que Python tiene un buen n煤mero de excepciones integradas para detectar errores en nuestro c贸digo. Adem谩s, nos brinda la oportunidad de crear excepciones personalizadas cuando ninguna de las excepciones integradas se adapta a nuestras necesidades.

驴Qu茅 es una excepci贸n?

  • Entonces, 驴qu茅 es una excepci贸n en Python? Bueno, en t茅rminos simples, cada vez que el int茅rprete de Python intenta ejecutar un c贸digo no v谩lido, genera una excepci贸n y, en los casos en que dicha excepci贸n no se maneja, interrumpe el flujo normal de las instrucciones del programa e imprime un rastreo.
# print(0 / 0)
# print(result)
print( 鈥楬ola鈥 )

suma = lambda x,y: x + y
assert suma(2,2) == 4

print( 'Hola 2')

age = 10
if age < 18:
    raise Exception('No se permiten menores de edad')

print( 鈥楬ola 2')


Hola!

Les comparto el c贸digo de la clase con todos los errores planteados.

# Errores en Python
# https://www.w3schools.com/python/python_ref_exceptions.asp

'''
SyntaxError: unmatched ')'
print(0 / 0)) 

ZeroDivisionError: division by zero
print(0 / 0)

NameError: name 'result' is not defined
print(result)

AssertionError
assert suma(2, 2) == 5
'''
print("Hola")

suma = lambda x, y: x + y
assert suma(2, 2) == 4

# Generar un error personalizado
age = 10
if age < 18:
  raise Exception("No se permite menores de edad")

'''
Cuando se generan errores en Python el programa se detiene y no ejecuta nada de lo que se encuentra a continuaci贸n.
'''

print("Hola 2")

Assert: es una keyword en Python que permite definir condiciones que siempre (obligatoriamente) deben cumplirse, por lo que la expresi贸n siempre deber谩 ser True, disparando una excepci贸n (AssertionError) en caso de que no lo sea.
Sintaxis:

assert True

Raise: Genera una excepcion forzada, deteniendo el flujo del programa.
Sintaxis:

raise Exception('user_text')

Ahora puedo hacer mis propios errores!

Creo que el proposito principal es que no se detenga el codigo por un error, sino que sepa esceptuarlo para continuar funcionando

Interesante clase, hasta ya viene un built-in para cuando es division por cero. ZeroDivisionError

Aqu铆 hay un v铆deo con sugerencias sobre el buen uso de assert, desde la sintaxis hasta c贸mo hacer el programa m谩s r谩pido y que no gaste memoria innecesaria. Quiz谩 no va con la dificultad del curso, pero ense帽a varios truquitos de Python 馃槈

yo a veces cometo el error de colocar printf en python y en C coloco print hahahahah

El assert es una declaraci贸n en Python que se utiliza para verificar si una condici贸n es verdadera, y si no lo es, lanzar una excepci贸n AssertionError. El uso t铆pico del assert es para verificar la entrada de una funci贸n o para controlar el estado interno de un programa.

Sintaxis:

assert expression, error_message

Ejemplo:

x = 5
assert x > 0, "x debe ser mayor que 0"

En Python, los errores se conocen como excepciones. Las excepciones son eventos que ocurren durante la ejecuci贸n de un programa y que pueden interrumpir el flujo normal del programa si no se manejan adecuadamente. Python proporciona un sistema robusto para manejar excepciones y errores. Aqu铆 tienes algunos conceptos b谩sicos sobre excepciones en Python:

  1. Tipos de Excepciones: Python tiene una variedad de excepciones incorporadas, como SyntaxError, TypeError, ZeroDivisionError, FileNotFoundError, entre otras. Cada excepci贸n tiene un prop贸sito espec铆fico y se lanza cuando ocurre una condici贸n de error particular.

  2. Lanzar una Excepci贸n: Puedes lanzar manualmente una excepci贸n usando la declaraci贸n raise. Esto te permite crear excepciones personalizadas para manejar situaciones espec铆ficas.

    pythonCopy code
    def dividir(a, b):
        if b == 0:
            raise ZeroDivisionError("No se puede dividir entre cero")
        return a / b
    
    
  3. Manejo de Excepciones: Puedes manejar las excepciones utilizando bloques try y except. Esto te permite capturar excepciones espec铆ficas y tomar medidas adecuadas cuando ocurren.

    pythonCopy code
    try:
        resultado = dividir(10, 0)
    except ZeroDivisionError as error:
        print(f"Error: {error}")
    
    
  4. Bloque finally: Puedes usar un bloque finally para especificar c贸digo que siempre se ejecutar谩, ya sea que se lance o no una excepci贸n. Es 煤til para liberar recursos, como cerrar archivos o conexiones de bases de datos.

    pythonCopy code
    try:
        archivo = open("mi_archivo.txt", "r")
        contenido = archivo.read()
    except FileNotFoundError:
        print("El archivo no se encontr贸")
    finally:
        archivo.close()
    
    
  5. Manejo de Excepciones M煤ltiples: Puedes manejar m煤ltiples excepciones utilizando varios bloques except. Esto te permite tomar acciones espec铆ficas para diferentes tipos de excepciones.

    pythonCopy code
    try:
        resultado = dividir(10, 0)
    except ZeroDivisionError as error:
        print(f"Error de divisi贸n: {error}")
    except TypeError as error:
        print(f"Error de tipo: {error}")
    
    
  6. Excepciones Personalizadas: Puedes crear tus propias clases de excepciones personalizadas heredando de Exception o alguna excepci贸n incorporada. Esto te permite definir tus propias reglas para el manejo de errores.

    pythonCopy code
    class MiErrorPersonalizado(Exception):
        def __init__(self, mensaje):
            super().__init__(mensaje)
    
    try:
        raise MiErrorPersonalizado("Esto es un error personalizado")
    except MiErrorPersonalizado as error:
        print(f"Error personalizado: {error}")
    
    
```python print ("hola") # assert para verificar si el codigo o nuestras funciones estan correctas suma = lambda x, y : x+y assert suma (5,5) == 10 print (" hola 2 ") # crear una excepcion de no se permiten menores de edad edad = 10 if edad < 18: raise Exception(" No se perimiten menores de edad ") ```print ("hola") \# assert para verificar si el codigo o nuestras funciones estan correctassuma = lambda *x*, *y* : *x*+*y*assert suma (5,5) == 10 print (" hola 2 ") \# crear una excepcion de no se permiten menores de edadedad = 10if edad < 18:聽 聽 raise Exception(" No se perimiten menores de edad ")

Built-in Exceptions
The table below shows built-in exceptions that are usually raised in Python:
.
Exception Description
ArithmeticError Raised when an error occurs in numeric calculations
AssertionError Raised when an assert statement fails
AttributeError Raised when attribute reference or assignment fails
Exception Base class for all exceptions
EOFError Raised when the input() method hits an 鈥渆nd of file鈥 condition (EOF)
FloatingPointError Raised when a floating point calculation fails
GeneratorExit Raised when a generator is closed (with the close() method)
ImportError Raised when an imported module does not exist
IndentationError Raised when indentation is not correct
IndexError Raised when an index of a sequence does not exist
KeyError Raised when a key does not exist in a dictionary
KeyboardInterrupt Raised when the user presses Ctrl+c, Ctrl+z or Delete
LookupError Raised when errors raised cant be found
MemoryError Raised when a program runs out of memory
NameError Raised when a variable does not exist
NotImplementedError Raised when an abstract method requires an inherited class to override the method
OSError Raised when a system related operation causes an error
OverflowError Raised when the result of a numeric calculation is too large
ReferenceError Raised when a weak reference object does not exist
RuntimeError Raised when an error occurs that do not belong to any specific exceptions
StopIteration Raised when the next() method of an iterator has no further values
SyntaxError Raised when a syntax error occurs
TabError Raised when indentation consists of tabs or spaces
SystemError Raised when a system error occurs
SystemExit Raised when the sys.exit() function is called
TypeError Raised when two different types are combined
UnboundLocalError Raised when a local variable is referenced before assignment
UnicodeError Raised when a unicode problem occurs
UnicodeEncodeError Raised when a unicode encoding problem occurs
UnicodeDecodeError Raised when a unicode decoding problem occurs
UnicodeTranslateError Raised when a unicode translation problem occurs
ValueError Raised when there is a wrong value in a specified data type
ZeroDivisionError Raised when the second operator in a division is zero

me atrever铆a a decir que esta es una de las clases m谩s importantes del presente curso

Algunos de los tipos de excepciones m谩s comunes en Python incluyen:

SyntaxError: Se produce cuando el c贸digo no sigue la sintaxis v谩lida de Python.
NameError: Ocurre cuando se utiliza una variable o un nombre no definido en el contexto actual.
TypeError: Se genera cuando se realiza una operaci贸n en un objeto de un tipo incorrecto.
ValueError: Sucede cuando una funci贸n recibe un argumento de tipo correcto, pero con un valor incorrecto.
FileNotFoundError: Ocurre cuando se intenta abrir un archivo que no existe.
ZeroDivisionError: Se produce cuando se intenta dividir un n煤mero entre cero.

Ejemplo b谩sico de c贸mo se maneja una excepci贸n en Python:

try:
    x = 10 / 0  # Intentando dividir entre cero
except ZeroDivisionError:
    print("Error: No es posible dividir entre cero.")

#print(0 / 0)

#print(result)
print(3)

suma = lambda x,y: x+y
assert suma(2,2) == 4

print(4)

age = 10
if age > 18:
  raise Exception('No se permiten menores de edad')

print(5)
  

Me encant贸 esta clase. El conocer las excepciones y manejarlas nos permite poder desarrollar c贸digos con mejores est谩ndares. Espero m谩s adelante nos expliquen la diferencia entre excepciones del sistema y excepciones del negocio

las excepciones se parecen mucho al if y al else if solo que el codigo no se ejecuta mas

#Errores en Python
#Cuando aparece un error, el programa colapsa no importa 
#si esta bien lo que sigue
#print(0/0) #ZeroDivisionError Exception
#print(result) #NameError Exception

print("Hola")
#assert: se usa para verificar
#si se verifica no pasa nada, pero si no, ocurre un error
suma=lambda x,y:x+y
assert suma(2,2)==4 #AssertionError Exception
print("Hola")

#Yo puedo lanzar mis propias excepciones
edad=10

if edad<18:
    raise Exception("No se permite menores de edad")

En Python, los errores se dividen en dos categor铆as: errores de sintaxis y excepciones.

  • Errores de sintaxis: son errores que ocurren cuando el c贸digo no sigue las reglas de sintaxis de Python. Por ejemplo, si olvidamos colocar dos puntos al final de una l铆nea de c贸digo que define un bloque, obtendremos un error de sintaxis.

  • Excepciones: son errores que ocurren durante la ejecuci贸n del c贸digo. Por ejemplo, podr铆amos obtener una excepci贸n al intentar dividir un n煤mero entero por cero o al intentar acceder a un 铆ndice de una lista que no existe.

  • Podemos utilizar la sentencia try-except para manejar las excepciones y evitar que el programa se bloquee. Por ejemplo:

  • La palabra clave assert se utiliza para verificar si una condici贸n es verdadera. Si la condici贸n es verdadera, assert no hace nada y el programa contin煤a ejecut谩ndose normalmente. Si la condici贸n es falsa, assert genera una excepci贸n AssertionError y detiene la ejecuci贸n del programa.

  • La declaraci贸n raise se utiliza para lanzar una excepci贸n. A menudo se utiliza junto con las declaraciones try y except para manejar las excepciones que pueden ocurrir en su c贸digo.

  • Algunas excepciones comunes en Python son:

  • TypeError: ocurre cuando se intenta realizar una operaci贸n con objetos de tipos incorrectos.

  • NameError: ocurre cuando se hace referencia a una variable que no ha sido definida.

  • IndexError: ocurre cuando se intenta acceder a un 铆ndice de una lista que no existe.

  • ValueError: ocurre cuando se intenta realizar una operaci贸n con un valor inapropiado.

  • KeyError: ocurre cuando se intenta acceder a un diccionario con una clave que no existe.

  • ZeroDivisionError: ocurre cuando se intenta dividir un n煤mero entero por cero.

#print(0/0)
#print(result)
print('Hola')

suma= lambda x, y: x + y
assert suma(2, 2) == 4

print('Hola 2')

age = 10
if age < 18:
  raise Exception('No se permite menores de edad')

print ('Hola 3')