Beheben den TypeError: must be str, not int Fehler in Python

Vaibhav Vaibhav 14 April 2022
Beheben den TypeError: must be str, not int Fehler in Python

Zeichenkettenverkettung bezieht sich auf das Kombinieren mehrerer Zeichenketten zu einer einzigen Zeichenfolge. In Python können wir das Symbol + zwischen Variablen verwenden, die sich auf Strings oder rohe Strings selbst beziehen, um sie miteinander zu verbinden. Oder wir können alle Strings, die wir verbinden möchten, in eine Liste einfügen und die eingebaute Python-Methode join() verwenden, um sie zu einem zusammenzuführen.

Wenn wir bei der Verwendung der beiden oben genannten Methoden nicht auf die Datentypen der Variablen und die Rohwerte achten, können wir auf die Ausnahme TypeError stoßen. In diesem Artikel wird erläutert, wie Sie dieses Problem in Python beheben können.

Beheben den TypeError: must be str, not int-Fehler in Python

Wir werden einige Möglichkeiten besprechen, wie wir diesen Fehler in Python beheben können.

der offensichtliche Ansatz

Die erste Lösung ist offensichtlich; Achten Sie auf die Variablen und die Rohwerte, die Sie verwenden. Versuchen Sie, einen String nicht mit einer Ganzzahl, einem Klassenobjekt oder einem booleschen Wert zu verketten.

Die str()-Methode in Python

Die zweite Lösung ist die Verwendung der eingebauten str()-Methode in Python. Diese Methode gibt eine String-Version des übergebenen Objekts zurück, z. B. eine Ganzzahl, einen Gleitkommawert, einen booleschen Wert, ein Klassenobjekt, eine Liste usw. Bei Klassenobjekten gibt diese Methode das Ergebnis von __repr__()-Methode oder die __str__()-Methode. Sehen Sie sich den folgenden Python-Code an, um diese str()-Funktion praktisch zu verstehen.

class A:
    def __init__(self, x):
        self.x = x

    def __str__(self):
        return f"{self.x}"


print(str(1))
print(str(111.1))
print(str(False))
print(str(True))
print(str(None))
print(str(A(11111)))
print(str([1, 2, 3, 4, 5]))

Ausgabe:

1
111.1
False
True
None
11111
[1, 2, 3, 4, 5]

Lassen Sie uns nun sehen, wie diese Funktion für die Zeichenkettenverkettung verwendet wird. Siehe dazu den folgenden Code.

a = "Hello World "
b = 1923
c = " Python "
d = 1235.23
e = " Numbers: "
f = [100, 200, 400, 800, 1600]
x = a + str(b) + c + str(d) + e + str(f)
print(x)

Ausgabe:

Hello World 1923 Python 1235.23 Numbers: [100, 200, 400, 800, 1600]

Die Funktion str() konvertiert alle Werte in ihre jeweiligen String-Werte. Außerdem können wir die Zeichenketten sicher miteinander verketten, ohne auf Ausnahmen zu stoßen.

Formatierte Zeichenketten in Python

Die dritte Möglichkeit besteht darin, formatierte Zeichenketten zu verwenden. Formatierte Zeichenketten beziehen sich auf Zeichenketten, denen ein f vorangestellt ist. Diese Zeichenketten ermöglichen es uns, Variablen oder Logik in reguläre Zeichenketten einzufügen. Die formulierte oder endgültige Zeichenfolge hätte die Zeichenkettendarstellungen der von den Variablen gespeicherten Werte und der von der Logik oder den Funktionsaufrufen zurückgegebenen Werte. Die Logik und die Variablen werden in {} eingefügt, die in den Zeichenketten vorhanden sind.

Sehen Sie sich den folgenden Python-Code für den besprochenen Ansatz an.

a = 1923
b = 1235.23
c = [100, 200, 400, 800, 1600]
print(f"Hello World {a} Python {b} Numbers: {c}")

Ausgabe:

Hello World 1923 Python 1235.23 Numbers: [100, 200, 400, 800, 1600]

Beachten Sie das Vorhandensein eines f am Anfang der Zeichenfolge und mehrere {} innerhalb der Zeichenfolge.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Python Error