Python format Formatierungsfunktion

Python 字符串Python-String


Ab Python 2.6 wurde eine neue Funktion zum Formatieren von Zeichenketten hinzugefügtstr.format(), die die Funktionalität der Zeichenkettenformatierung verbessert.

Die grundlegende Syntax ist die Verwendung von{}und:, um die vorherige zu ersetzen% 。

Die format-Funktion kann eine unbegrenzte Anzahl von Argumenten akzeptieren, und ihre Positionen müssen nicht in der Reihenfolge sein.

Beispiel

>>>"{} {}".format("hello", "world") # Ohne Angabe einer bestimmten Position wird die Standardreihenfolge verwendet 'hello world' >>> "{0} {1}".format("hello", "world") # Bestimmte Position festlegen 'hello world' >>> "{1} {0} {1}".format("hello", "world") # Bestimmte Position festlegen 'world hello world'

Sie können auch Parameter festlegen:

Beispiel

#!/usr/bin/python # -*- coding: UTF-8 -*- print("Website-Name: {name}, Adresse {url}".format(name="Beispiel", url="www.example.com")) # Parameter über ein Dictionary setzen site = {"name": "Beispiel", "url": "www.example.com"} print("Webseitenname: {name}, Adresse {url}".format(**site)) # Parameter über einen Listenindex setzen my_list = ['Beispiel', 'www.example.com'] print("Webseitenname: {0".format(my_list)) # "0" ist erforderlich

Das Ausgabeergebnis ist:

网站名:Example, 地址 www.example.com
网站名:Example, 地址 www.example.com
网站名:Example, 地址 www.example.com

Du kannst auchstr.format()ein Objekt übergeben:

Beispiel

#!/usr/bin/python # -*- coding: UTF-8 -*- class AssignValue(object): def __init__(self, value): self.value = value my_value = AssignValue(6) print('value is: {0.value}'.format(my_value)) # "0" ist optional

Das Ausgabeergebnis ist:

value 为: 6

Zahlenformatierung

Die folgende Tabelle zeigt verschiedene Methoden zum Formatieren von Zahlen mit str.format():

>>> print("{:.2f}".format(3.1415926))
3.14
NumberFormatAusgabeBeschreibung
3.1415926 {:.2f} 3.14 Zwei Nachkommastellen beibehalten
3.1415926 {:+.2f} +3.14 Zwei Nachkommastellen mit Vorzeichen beibehalten
-1 {:-.2f} -1.00 Zwei Nachkommastellen mit Vorzeichen beibehalten
2.71828 {:.0f} 3 Keine Nachkommastellen
5 {:0>2d} 05 Die Zahl mit Nullen auffüllen (links auffüllen, Breite 2)
5 {:x<4d} 5xxx Die Zahl mit x auffüllen (rechts auffüllen, Breite 4)
10 {:x<4d} 10xx Die Zahl mit x auffüllen (rechts auffüllen, Breite 4)
1000000 {:,} 1,000,000 Zahlenformat mit Kommatrennzeichen
0.25 {:.2%} 25.00% Prozentformat
1000000000 {:.2e} 1.00e+09 Exponentialschreibweise
13 {:>10d}         13 Rechtsbündig (Standard, Breite 10)
13 {:<10d} 13 Linksbündig (Breite 10)
13 {:^10d}     13 Zentriert (Breite 10)
11
'{:b}'.format(11)
'{:d}'.format(11)
'{:o}'.format(11)
'{:x}'.format(11)
'{:#x}'.format(11)
'{:#X}'.format(11)
1011
11
13
b
0xb
0XB
Basis

^, <, >Sie sind der Reihe nach zentrierte, linke und rechte Ausrichtung, gefolgt von der Breite,:Nach dem Vorzeichen kommt das Füllzeichen, das nur ein Zeichen lang sein kann. Wenn nicht angegeben, werden standardmäßig Leerzeichen verwendet.

+bedeutet, vor positiven Zahlen angezeigt zu werden+, und vor negativen Zahlen-; (Leerzeichen) bedeutet, vor positiven Zahlen ein Leerzeichen hinzuzufügen

b, d, o, x stehen für Binär-, Dezimal-, Oktal- und Hexadezimalzahlen.

Darüber hinaus können wir geschweifte Klammern{}verwenden, um geschweifte Klammern zu maskieren, wie im folgenden Beispiel:

Beispiel

#!/usr/bin/python # -*- coding: UTF-8 -*- print ("Die Position, die {} entspricht, ist {{0}}".format("Beispiel"))

Das Ausgabeergebnis ist:

example 对应的位置是 {0}

Python 字符串Python-String

Weitere Erweiterungen