Qué es un iterable?
Cómo funciona?
Para poder funcionar hace uso de los metodos, iter()
y next()
. Tambien los puedes encontrar como __iter__()
y __next__()
.
Con iter()
transformamos en un objeto iterable cualquier objeto que podamos recorrer.
Con next()
podemos recorrer cada uno de los elemento de un iterable, pero solo un elemento por cada llamada.
myit = iter(range(1,4))
print(next(myit)) # 1
print(next(myit)) # 2
print(next(myit)) # 3
Al momento de no tener más elementos, automáticamente se eleva un StopIteration
.
<aside> 📌 Resumen: Un iterable es una forma que tenemos de recorrer un objeto, esto transformándolo en un iterable con iter() y luego recorrerlo con next().
</aside>
Qué son las excepciones?
Qué es un assert?
Qué es raise?
Las excepciones o errores son aquellas que se elevan cuando ocurre un error.
Tabla con todos los errores de python.
Un assert es una afirmación que damos, y de no cumplirse eleva un AssertionError.
suma = lambda x,y: x + y
assert suma(2,2) == 4
suma = lambda x,y: x + y
assert suma(2,2) == 4, 'Esto no es igual a 4'
En python los errores se elevan con la keyword raise junto a Exception, especificando el error.
age = 10
if age < 18:
raise Exception('No se permiten menores de edad')
# Output
...sniped...
Exception: No se permiten menores de edad
<aside> 📌 Resumen: En python podemos elevar errores son assertion y raise, esto elevara un error que terminará el programa, para estos casos podemos manejar los errores y evitar que el programa se detenga.
</aside>
Qué es try / except?
Un try / except
es una forma de manejar un error sin detener el programa.
try
y otro que captura los errores except
.Importante:
Ejemplos:
Con error específico.
try:
print(0 / 0)
except ZeroDivisionError as error:
print(error)
Con assert.
try:
assert 1 != 1, 'Uno no es igual que uno'
except AssertionError as error:
print(error)
Con raise.
try:
age = 10
if age < 18:
raise Exception('No se permiten menores de edad')
except Exception as error:
print(error)
Prueba una serie de errores con un salo try.
try:
print(0 / 0)
assert 1 != 1, 'Uno no es igual que uno'
age = 10
if age < 18:
raise Exception('No se permiten menores de edad')
except ZeroDivisionError as error:
print(error)
except AssertionError as error:
print(error)
except Exception as error:
print(error)
<aside> 📌 Resumen: Podemos manejar errores de varias formas con try, except, else y finally, todas estas nos permiten de alguna forma manejar los errores que tenemos.
</aside>