Heim > Artikel > Backend-Entwicklung > Wie behebe ich Pythons String-Formatierungsfehler?
Python ist eine weit verbreitete Programmiersprache und die String-Formatierung ist eine ihrer sehr grundlegenden und wichtigen Funktionen. Während des Entwicklungsprozesses stoßen wir jedoch manchmal auf einige Fehler bei der Zeichenfolgenformatierung, die auf verschiedene Faktoren zurückzuführen sein können, z. B. auf die unsachgemäße Verwendung unserer Tags und Grammatikfehler. In diesem Artikel wird erläutert, wie Fehler bei der Formatierung von Python-Strings behoben werden.
1. Pythons String-Formatierungsmethoden verstehen
In Python gibt es drei Möglichkeiten, Strings zu formatieren: die Prozentzeichen-Methode (%), die string.format()-Funktionsmethode und den neuen f- im Python3-String-Modus. Unter diesen werden die ersten beiden Methoden am häufigsten verwendet, und f-string ist eine neue Methode, die in der Python 3.6-Version hinzugefügt wurde und relativ neu ist.
1. Prozentzeichen-Methode (%)
Prozentzeichen-Methode (%) ist die früheste und klassischste Zeichenfolgenformatierungsmethode in Python. Ihre Verwendung ist wie folgt:
name = 'Tom' age = 18 score = 95.8 print('%s is %d years old, and his score is %.1f.' % (name, age, score))
2. String.format ()-Funktionsmethode
String.format()-Funktionsmethode ist die zweite String-Formatierungsmethode in Python. Sie wird wie folgt verwendet:
Tom is 18 years old, and his score is 95.8.
Ausgabeergebnis:
name = 'Tom' age = 18 score = 95.8 print('{} is {} years old, and his score is {:.1f}.'.format(name, age, score))
3.f-string-Methode
Python 3.6-Version wurde hinzugefügt Die F-String-Methode lautet wie folgt:
Tom is 18 years old, and his score is 95.8.
Ausgabeergebnis:
name = 'Tom' age = 18 score = 95.8 print(f'{name} is {age} years old, and his score is {score:.1f}.')
2. Häufige Fehler und Lösungen bei der Python-String-Formatierung
1 sehr wichtig. Zu den gängigen Tags gehören %s, %d, %f usw. Unter diesen repräsentiert %s eine Zeichenfolge, %d repräsentiert eine Ganzzahl und %f repräsentiert eine Gleitkommazahl.
Wenn wir den falschen Marker verwenden, tritt ein Fehler auf. Zum Beispiel:
Tom is 18 years old, and his score is 95.8.
Ausgabeergebnis:
name = 'Tom' age = 18 score = 95.8 print('%s is %d years old, and his score is %d.' % (name, age, score))
Dies liegt daran, dass Score die Markierung %d verwendet, Score jedoch eine Gleitkommazahl ist und die Markierung %f verwendet werden sollte. Daher sollten wir den Code ändern in:
TypeError: %d format: a number is required, not float
Ausgabeergebnis:
name = 'Tom' age = 18 score = 95.8 print('%s is %d years old, and his score is %.1f.' % (name, age, score))
Wir können auch die Funktion string.format() oder die F-String-Methode verwenden, um Tag-Verwendungsfehler zu vermeiden.
2. Parameterkonflikt
Beim Formatieren von Zeichenfolgen müssen Sie sicherstellen, dass die Anzahl der übergebenen Parameter mit der Anzahl der entsprechenden Markierungen übereinstimmt. Wenn zu viele oder zu wenige Parameter vorhanden sind, tritt ein Fehler auf. Zum Beispiel:
Tom is 18 years old, and his score is 95.8.
Ausgabeergebnis:
name = 'Tom' print('%s is %d years old.' % (name))
Da wir nur einen Parameter übergeben haben, es aber zwei Markierungen gibt, sollte der Code geändert werden in:
TypeError: not enough arguments for format string
Ausgabeergebnis:
name = 'Tom' age = 18 print('%s is %d years old.' % (name, age))
3. Syntaxfehler
Syntax Fehler sind einer der häufigsten Fehler in Python. Insbesondere bei der String-Formatierung kann es leicht zu Syntaxfehlern durch die falsche Verwendung von Symbolen wie Klammern und Anführungszeichen kommen. Zum Beispiel:
Tom is 18 years old.
Ausgabeergebnis:
print('My name is {}. I'm {} years old.' .format('Tom', 18))
Dies liegt daran, dass in der obigen Zeichenfolge zwei einfache Anführungszeichen verwendet werden, was zu einem Analysefehler führt. Der Code sollte geändert werden in:
File "<ipython-input-5-24fc64aa88e2>", line 1 print('My name is {}. I'm {} years old.' .format('Tom', 18)) ^ SyntaxError: invalid syntax
Ausgabeergebnis:
print("My name is {}. I'm {} years old." .format('Tom', 18))
IV. Die String-Formatierung ist eine sehr grundlegende und wichtige Funktion in Python. Das Wissen, wie man Python-String-Formatierungsfehler behebt, kann die Qualität unseres Codes verbessern. Bei der Verwendung der Zeichenfolgenformatierung müssen wir die Zeichenfolgenformatierungsmethode von Python verstehen und häufige Fehlertypen wie die falsche Verwendung von Markierungen, nicht übereinstimmende Parameter und Syntaxfehler vermeiden. Wenn ein Fehler auftritt, müssen Sie den Code sorgfältig durchgehen, um den Fehler zu finden und zu beheben.
Das obige ist der detaillierte Inhalt vonWie behebe ich Pythons String-Formatierungsfehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!