2017-05-14 5 views
0

Python gibt Formate aus, die größer als die Größe in der format-Anweisung sind. Die folgenden Anweisungen geben eine Zeichenfolgenlänge von 4 Zeichen an, die Ausgabe wird jedoch so angepasst, dass sie der Zeichenfolge entspricht. Wie wird dies im Code gehandhabt, wenn bestimmte Layouts benötigt werden?Python-Ausgabe größere Zeichenfolge als Format Spezifikation

print('#{:4.4}#'.format('xylophone')) 
print('#{:4.5}#'.format('xylophone')) 
print('#{:4.10}#'.format('xylophone')) 

Ausgang:

#xylo# 
#xylop# 
#xylophone# 

Antwort

0

Betrachten Sie die Formatanweisung {:X.Y}.

Der Wert X ist die Polsterung. Die Ausgabezeichenfolge ist mindestens X Zeichen breit, kann aber mehr sein. Der Befehl format fügt der Ausgabezeichenfolge Leerzeichen hinzu, um den Unterschied in der Länge auszugleichen, wenn die Eingabezeichenfolge kürzer als X ist. X wird immer die minimale Breite des formatierten Feldes sein.

Der Wert Y ist der Trunkierung. Die Ausgabezeichenfolge enthält nicht mehr als Y Zeichen aus der Eingabezeichenfolge. Y wird immer die maximale Breite des formatierten Feldes sein.

Wenn Y>X, dann wird die Ausgabezeichenfolge mindestens X Zeichen lang sein und bis zu Y Zeichen lang, wie Ihre Beispiele zeigen. Wenn X>Y, dann enthält die formatierte Zeichenfolge bis zu den ersten Y Zeichen aus der Eingabezeichenfolge mit Leerzeichen, um die formatierte Zeichenfolge bei Bedarf auf X Zeichen aufzufüllen.

Wenn ein Feld in einem Layout, das eine bestimmte Breite sein muss, stellten dann XY und sowohl auf die Breite des Feldes, und es wird korrekt ausgegeben.

Beispiele:

print('#{:.4}#'.format('xylophone')) #include up to 4 characters (no minimum width specified) 
#xylo# 

print('#{:10.4}#'.format('xylophone')) #include up to 4 characters, but make the field at least 10 characters wide 
#xylo  # 
+0

Ausgezeichnete Erklärung! – flywire

Verwandte Themen