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.
Verwandter 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