Die Verwendung von Prozentoperatoren (%) in Python-Strings kann oft zu Mehrdeutigkeiten führen, insbesondere bei der Arbeit mit String-Formatierungen. Der Konflikt entsteht durch die unterschiedliche Verwendung von %-Zeichen in Python: als Modulo-Operator, als Platzhalter für die Zeichenfolgenformatierung und als einfaches Zeichen. Um die Kontrolle über die prozentuale Zeichenverarbeitung zu behalten, ist selektives Escapen erforderlich.
Beachten Sie den folgenden Code:
test = "have it break." selectiveEscape = "Print percent % in sentence and not %s" % test
Beim Drucken von selektivem Escape erwarten Sie möglicherweise Folgendes:
Print percent % in sentence and not have it break.
Aufgrund des doppelten Prozents im Formatierungsplatzhalter (%s) interpretiert der Interpreter ihn jedoch als Modulo-Operator und löst einen TypeError aus, der auf die Notwendigkeit hinweist eine Zahl anstelle eines Zeichenfolgenarguments.
Um dieses Problem zu beheben, müssen Sie die Prozentzeichen, die Sie als Literale behandeln möchten, selektiv maskieren. Dies kann durch doppelte Prozentzeichen (%%) erreicht werden, die dafür sorgen, dass das erste Prozentzeichen als Escape-Sequenz und nicht als Formatierungsplatzhalter interpretiert wird.
Der korrigierte Code:
test = "have it break." selectiveEscape = "Print percent %% in sentence and not %s" % test
Mit diesen Anpassungen wird die Ausgabe nun wie gewünscht angezeigt:
Print percent % in sentence and not have it break.
Mit dieser Technik können Sie Prozentzeichen in Python-Strings selektiv maskieren und so sicherstellen, dass dies der Fall ist werden als Literalzeichen und nicht als Formatierungsplatzhalter interpretiert.
Das obige ist der detaillierte Inhalt vonWie entferne ich Prozentzeichen in der Python-Zeichenfolgenformatierung, um „TypeError' zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!