Python ninguno

Con Python, solo puede iterar sobre un objeto si ese objeto tiene un valor. Esto se debe a que los objetos iterables solo tienen un elemento siguiente al que se puede acceder si su valor no es igual a Ninguno. Si intenta iterar sobre un objeto None, encontrará el TypeError: " NoneType " el objeto no es iterable error.

En esta guìa, hablamos sobre lo que significa este error y por qué puede encontrarlo. Analizamos un ejemplo para ayudarlo a resolver còmo resolver este error com√∫n de Python.

TypeError: " NoneType " el objeto no es iterable

Para que un objeto sea iterable , debe contener un valor. Un valor None no es iterable porque no contiene ning√∫n objeto. Ninguno representa un valor nulo.

Existe una diferencia entre un objeto Ninguno y un iterable vacìo. Este error no se genera si tiene una lista vacìa o una cadena.

Esto se debe a que listas y strings tienen un tipo de datos iterable. Cuando el intérprete de Python encuentra una lista vacìa, no itera sobre ella porque no hay valores. Python no puede iterar sobre un valor None, por lo que el intérprete devuelve un error.

Este error es com√∫n cuando declaras una funciòn y olvidas devolver un valor.

Un escenario de ejemplo

Escribamos un programa que tome una lista de nombres de estudiantes y filtre aquellos que comiencen con" E ". Imprimiremos esos valores en la consola.

Comience por definir una funciòn que filtre a los estudiantes " nombres:

El 81% de los participantes afirmaron que se sentìan más seguros acerca de sus perspectivas laborales después de asistir a un bootcamp. Asòciese a un bootcamp hoy.

El graduado promedio de un bootcamp pasò menos de seis meses en la transiciòn profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Esta funciòn recorre cada elemento en los " class_names " lista usando un bucle for. Para cada artìculo, nuestro bucle verifica si el artìculo comienza con la letra "E". Si es asì, ese nombre se agrega a los " new_class_names " list.

A continuaciòn, escriba una funciòn que recorra nuestra nueva lista e imprima cada valor en la consola:

Aquì, declaramos una lista de estudiantes a través del cual nuestro programa debe buscar. Pasamos esta lista de estudiantes a través de nuestra funciòn filter_students:

Este còdigo ejecuta la funciòn filter_students que encuentra todos los estudiantes cuyos nombres comienzan con " E & rdquo ;. La lista de estudiantes cuyos nombres comienzan con " E " se llama estudiantes_e_name. A continuaciòn, llamamos a nuestra funciòn show_students para mostrar la nueva lista de estudiantes:

Ejecutemos nuestro còdigo y veamos qué sucede:

Nuestro còdigo devuelve un mensaje de error.

La soluciòn

Cuando intentamos iterar sobre la variable class_names en el show_students, nuestro còdigo detecta un valor None y genera un error. Esto se debe a que el valor que hemos pasado como " class_names " es Ninguno.

Este error se debe a que nuestra funciòn filter_students no devuelve un valor. Cuando asignamos el resultado de la funciòn filter_students a la variable Students_e_name, se establece el valor None.

Para solucionar este error, tenemos que devolver un valor en nuestra funciòn filter_students :

Este còdigo devuelve el valor de new_class_names al programa principal. < br>

Ejecutemos nuestro còdigo para ver si funciona:

Nuestro còdigo ahora imprime con éxito los nombres de los estudiantes cuyos nombres comienzan con " E & rdquo ;.

Evitar la excepciòn NoneType

Técnicamente, puede evitar la excepciòn NoneType comprobando si un valor es igual a None antes de iterar sobre ese valor. Considere el siguiente còdigo:

La funciòn " show_students () " se ejecuta correctamente porque compruebe si class_names es un valor None antes de intentar iterar sobre él. Esta no es la mejor pra ctice en la mayorìa de los casos porque la causa de un error NoneType puede ser un problema en otra parte de su còdigo.

Si agregamos el " no es None " Consulte nuestro programa completo, no sabemos que nos perdimos una declaraciòn de devoluciòn en otra funciòn. Es por eso que si ve este error, es mejor aceptar la excepciòn en lugar de manejarla usando un " no es Ninguno " comprobar.



Conclusiòn

El TypeError: " NoneType " el objeto no es iterable se genera un error cuando intenta iterar sobre un objeto cuyo valor es igual a Ninguno.

Para resolver este error, aseg√∫rese de que cualquier valor que intente iterar sobre se les ha asignado un objeto iterable, como una cadena o una lista. En nuestro ejemplo, olvidamos agregar un " return " declaraciòn a una funciòn. Esto hizo que la funciòn devolviera None en lugar de una lista.

Ahora estás listo para resolver este error com√∫n de Python en tu propio còdigo.

"Career Karma entrò en mi vida cuando más lo necesitaba y rápidamente me ayudò a combinar con un bootcamp. Dos meses después de graduarme, encontré el trabajo de mis sue√±os que se alineaba con mis valores y metas en la vida. "

Venus, ingeniero de software de Rockbot

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method