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](<https://www.w3schools.com/python/python_try_except.asp>)**
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>