operando python

Funciones y métodos de Python

Las cadenas se pueden concatenar en Python . Esto le permite fusionar el valor de dos o más cadenas en una sola. Si intenta concatenar una cadena y un valor igual a Ninguno, encontrará el & ldquo; TypeError: tipos de operandos no admitidos para +: & lsquo; nonetype & rsquo; y & lsquo; str & rsquo; & rdquo; error.

Esta guía habla sobre lo que significa este error y por qué se genera. Se describe un ejemplo de este error para que pueda averiguar cómo solucionarlo en su código.




TypeError: tipos de operandos no admitidos para +: & lsquo; nonetype & rsquo; y & lsquo; str & rsquo;

El operador de concatenación (+) fusiona valores de cadena :

 día = "Lunes" clima = "soleado" print ("Es" + día + "y es" clima + "afuera . ") 

Este código fusiona & ldquo; It & rsquo; s & rdquo ;, & ldquo; Monday & rdquo ;, & ldquo; y es & rdquo ;, & ldquo; soleado & rdquo ;, y & ldquo; afuera. & rdquo; cuerdas en una cuerda larga. El código devuelve: & ldquo; Es lunes y hace sol afuera & rdquo ;.

El operador de concatenación no se puede usar para fusionar valores de diferentes tipos de datos, como una cadena y un entero . Esto se debe a que el signo más tiene diferentes asociaciones con tipos de datos como un número entero. Con enteros y flotantes, el signo más representa la operación de suma.

Los valores iguales a Ninguno no se pueden concatenar con un valor de cadena. Esto provoca el error & ldquo; TypeError: tipos de operandos no admitidos para +: & lsquo; nonetype & rsquo; y & lsquo; str & rsquo; & rdquo ;.




Un escenario de ejemplo

Creemos un programa que imprima un mensaje que muestre información sobre cuánto ha ganado una zapatería en el último mes . Esta información incluye los ingresos netos y brutos de la tienda, el valor de la venta más alta y el valor de la venta promedio en la zapatería. & Nbsp;

Para comenzar, declarar un diccionario que almacena algunos valores sobre lo que la zapatería ha ganado en un mes:

El 81% de los participantes dijeron que se sentían más confiado en sus perspectivas laborales de tecnología después de asistir a un campamento de entrenamiento. Asigne a un bootcamp hoy.

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

El propietario de la zapatería quiere ver estos valores cuando ejecutan el programa. Vas a utilizar una declaración impresa para acceder a los valores sobre la facturación en la tienda. Utilice cinco sentencias de impresión para mostrar la información en el diccionario:

 print ("Mes:") + facturación ["mes"] imprimir ("Ingresos netos: $") + str (facturación ["ingresos_netos"]) imprimir ("Ingresos brutos: $") + str (facturación ["ingresos_brutos"]) imprimir ("Venta más alta valores de punto flotante en el diccionario a una cadena . Esto evita un error que se produce cuando intenta concatenar una cadena y un flotante. Como se discutió anteriormente, solo las cadenas se pueden concatenar a las cadenas. A continuación, ejecute el código y observe qué sucede: 

 Seguimiento del mes (última llamada más reciente): Archivo "main.py", línea 9, en & lt; módulo & gt; print ("Month") + rotación ["month"] TypeError: tipos de operandos no admitidos para +: 'NoneType' y' str' 

El código devuelve un error.



La solución

El código imprime correctamente la palabra & ldquo; Mes & rdquo; en la consola. El programa deja de funcionar cuando intenta agregar el valor de la facturación [& ldquo; mes & rdquo;] a la cadena & ldquo; Mes & rdquo;.

El problema es que está concatenando la cadena de facturación [& ldquo; mes & rdquo;] fuera de la cadena print () instrucción. La función print () devuelve None. Debido a que su operador de concatenación viene después de la instrucción print () , Python piensa que está tratando de agregar un valor a él:

 print ("Mes") + facturación ["mes"] 

Para solucionar este error, debemos mover la operación de concatenación a las sentencias print () :

 print (" Mes: "+ facturación [" mes "]) print (" Ingresos netos: $ "+ str (facturación [" ingresos_netos "])) print (" Ingresos brutos: $ "+ str (facturación ["ingresos_brutos"])) print ("Venta más alta: $" + str (facturación ["venta_máxima"])) print ("Venta media: $" + str (facturación ["venta_promedio"])) 

Los operadores de concatenación siempre deben ir después de un valor de cadena, no de la instrucción print () cuyo valor desea concatenar. Ejecutemos el programa:

Nuestro código ejecuta con éxito todas las sentencias print () . Cada declaración de impresión contiene una etiqueta a la que se le asigna un valor del & ldquo; volumen de negocios & rdquo; diccionario está concatenado.




Conclusión

El & ldquo; TypeError: tipos de operandos no admitidos para +: & lsquo; nonetype & rsquo; y & lsquo; str & rsquo; & rdquo; Se genera un error cuando intenta concatenar un valor igual a Ninguno con una cadena. Esto es común si intenta concatenar cadenas fuera de una instrucción print () .

Para resolver este error, verifique que los valores en ambos lados de un signo más sean cadenas si desea realizar una operación de concatenación.

Ahora está listo para corregir este error en su Python programa como un codificador profesional.





operando python: StackOverflow Questions

Tutorials