Python TypeError: Nicht unterstützte Operandentypen für +: 'NoneType' und 'Int'
-
der
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
in Python -
Korrigieren Sie den
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
in Python -
Korrigieren Sie den
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
innerhalb einer Funktion
In Python tritt der TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
auf, wenn Sie einen ganzzahligen Wert mit einem null
-Wert hinzufügen. Wir werden in diesem Artikel den Python-Fehler besprechen und wie man ihn behebt.
der TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
in Python
Der Python-Compiler wirft den TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
, weil wir zwei Werte mit unterschiedlichen Datentypen manipulieren. In diesem Fall sind die Datentypen dieser Werte int
und null
, und der Fehler weist Sie darauf hin, dass die Operation nicht unterstützt wird, da die Operanden int
und null
für den Operator +
ungültig sind.
Codebeispiel:
a = None
b = 32
print("The data type of a is ", type(a))
print("The data type of b is ", type(b))
# TypeError --> unsupported operand type(s) for +: 'NoneType' and 'int'
result = a + b
Ausgang:
The data type of a is <class 'NoneType'>
The data type of b is <class 'int'>
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
Wie wir in der Ausgabe des obigen Programms sehen, ist der Datentyp von a
NoneType
, während der Datentyp von b
int
ist. Wenn wir versuchen, die Variablen a
und b
hinzuzufügen, stoßen wir auf den TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
.
Hier sind einige ähnliche Fälle, die ebenfalls TypeError verursachen, da sich ihre Datentypen unterscheiden.
# Adding a string and an integer
a = "string"
b = 32
a + b # --> Error
# Adding a Null value and a string
a = None
b = "string"
a + b # --> Error
# Adding char value and a float
a = "D"
b = 1.1
a + b # --> Error
Korrigieren Sie den TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
in Python
Sie können null
nicht verwenden, um arithmetische Operationen darauf auszuführen, und das obige Programm hat gezeigt, dass es einen Fehler auslöst. Wenn Sie einen ähnlichen Fall haben, typisieren Sie die Werte außerdem, bevor Sie arithmetische Operationen oder andere gewünschte Aufgaben ausführen.
Um diesen Fehler zu beheben, können Sie gültige Datentypen verwenden, um arithmetische Operationen darauf auszuführen, die Werte typisieren oder, wenn Ihre Funktion null
-Werte zurückgibt, try-catch
-Blöcke verwenden, um Ihr Programm vor dem Absturz zu bewahren.
Codebeispiel:
a = "Delf"
b = "Stack"
print("The data type of a is ", type(a))
print("The data type of b is ", type(b))
result = a + b
print(result)
Ausgang:
The data type of a is <class 'str'>
The data type of b is <class 'str'>
DelfStack
Wie Sie sehen können, haben wir ähnliche Datentypen für a
und b
, die perfekt verkettet sind, ohne einen Fehler auszulösen, da die Natur beider Variablen gleich ist.
Korrigieren Sie den TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
innerhalb einer Funktion
Codebeispiel:
def sum_ab(a, b=None):
# TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
return a + b
sum_ab(3)
Ausgang:
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
Im obigen Code hat die Funktion sum_ab()
zwei Argumente, a
und b
, wobei b
einem null
-Wert zugewiesen wird, der das Standardargument ist, und die Funktion die Summe von a
zurückgibt " und B".
Angenommen, Sie haben nur einen Parameter angegeben, sum_ab(3)
. Die Funktion löst automatisch den Standardparameter None
aus, der nicht hinzugefügt werden kann, wie in den obigen Beispielen zu sehen ist.
Wenn Sie sich in diesem Fall nicht sicher sind, welche Funktion den TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
ausgelöst hat, können Sie den try-catch
-Mechanismus verwenden, um solche Fehler zu umgehen.
Codebeispiel:
try:
def sum_ab(a, b=None):
return a + b
sum_ab(3)
except TypeError:
print(
" unsupported operand type(s) for +: 'int' and 'NoneType' \n The data types are a and b are invalid"
)
Ausgang:
unsupported operand type(s) for +: 'int' and 'NoneType'
The data types are a and b are invalid
Der try-catch
-Block hilft Ihnen, die Fehler zu interpretieren und Ihr Programm vor Abstürzen zu schützen.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedInVerwandter Artikel - Python Error
- Adresse wird bereits verwendet Fehler in Python
- AttributeError: __Exit__ in Python
- AttributeError: 'Dict'-Objekt hat kein Attribut 'Append' in Python
- AttributeError: 'NoneType'-Objekt hat kein Attribut 'Text' in Python
- AttributeError: Int-Objekt hat kein Attribut
- AttributeError: Modul Urllib hat keine Attributanforderung