Pythons leistungsstarke String-Formatierungsfunktion-format

大家讲道理
Freigeben: 2016-11-07 10:50:03
Original
1462 Leute haben es durchsucht

Seit Python2.6 wurde eine neue Funktion str.format() zum Formatieren von Zeichenfolgen hinzugefügt, die sehr leistungsfähig ist. Welche Vorteile hat es also im Vergleich zur vorherigen %-formatierten Zeichenfolge? Lassen Sie uns seine Schüchternheit enthüllen.

Syntax

Es verwendet {} und: anstelle von %

Positionale Methodenformatierung

>>> '{}.{}'.format('pythontab', 'com')
'pythontab.com'
>>> '{}.{}.{}'.format('www', 'pythontab', 'com')
'www.pythontab.com'
>>> '{1}.{2}'.format('www', 'pythontab', 'com')
'pythontab.com'
>>> '{1}.{2} | {0}.{1}.{2}'.format('www', 'pythontab', 'com')
'pythontab.com | www.pythontab.com'
Nach dem Login kopieren

Zeichenfolge Die Formatfunktion kann unbegrenzt viele Parameter akzeptieren. Die Parameter können nicht oder mehrfach verwendet werden.

Hinweis: Unter Python2.6 kann es nicht leer sein. 7 und höher.

Nach Schlüsselwortargumenten

>>> '{domain}, {year}'.format(domain='www.pythontab.com', year=2016)
'www.pythontab.com, 2016'
>>> '{domain} ### {year}'.format(domain='www.pythontab.com', year=2016)
'www.pythontab.com ### 2016'
>>> '{domain} ### {year}'.format(year=2016,domain='www.pythontab.com')
'www.pythontab.com ### 2016'
Nach dem Login kopieren

Nach Objekteigenschaften

>>> class website: 
        def __init__(self,name,type): 
            self.name,self.type = name,type 
        def __str__(self): 
          return 'Website name: {self.name}, Website type: {self.type} '.format(self=self) 
>>> print str(website('pythontab.com', 'python'))
Website name: pythontab.com, Website type: python
>>> print website('pythontab.com', 'python')
Website name: pythontab.com, Website type: python
Nach dem Login kopieren

Nach Index

>>> '{0[1]}.{0[0]}.{1}'.format(['pyhtontab', 'www'], 'com')
'www.pyhtontab.com'
Nach dem Login kopieren

Mit diesen praktischen „Mapping“-Methoden haben wir ein Werkzeug gegen Faulheit. Grundlegende Python-Kenntnisse zeigen uns, dass Listen und Tupel in gewöhnliche Parameter für Funktionen „zerlegt“ werden können, während dict in Schlüsselwortparameter für Funktionen (durch und *) zerlegt werden kann. Sie können also problemlos eine Liste/ein Tupel/ein Diktat an die Formatfunktion übergeben, was sehr flexibel ist.

Formatqualifizierer

Es verfügt über einen umfangreichen Satz von „Formatqualifizierern“ (die Syntax ist {} mit einem :-Zeichen), wie zum Beispiel:

Auffüllung und Ausrichtung

Auffüllung wird oft zusammen mit Ausrichtung verwendet

^, <、> sind jeweils zentriert, linksbündig, rechtsbündig, gefolgt von der Breite

<🎜 Das Füllzeichen nach dem >:-Zeichen kann nur ein Zeichen sein. Wenn nicht angegeben, wird es standardmäßig mit Leerzeichen gefüllt

Codebeispiel:

>>> &#39;{:>10}&#39;.format(2016)
&#39;      2016&#39;
>>> &#39;{:#>10}&#39;.format(2016)
&#39;######2016&#39;
>>> &#39;{:0>10}&#39;.format(2016)
&#39;0000002016&#39;
Nach dem Login kopieren

Numerisch Präzision und Typ f

Präzision wird oft zusammen mit Typ f verwendet

>>> &#39;{:.2f}&#39;.format(2016.0721)
&#39;2016.07&#39;
Nach dem Login kopieren
wobei .2 die Genauigkeit der Länge 2 und f den Float-Typ darstellt.

Andere Typen

Basis, b, d, o, x sind hauptsächlich binär, dezimal, oktal bzw. hexadezimal.

>>> &#39;{:b}&#39;.format(2016)
&#39;11111100000&#39;
>>> &#39;{:d}&#39;.format(2016)
&#39;2016&#39;
>>> &#39;{:o}&#39;.format(2016)
&#39;3740&#39;
>>> &#39;{:x}&#39;.format(2016)
&#39;7e0&#39;
>>>
Nach dem Login kopieren
wird verwendet, die Zahl kann auch als Tausendertrennzeichen für Beträge verwendet werden.

>>> &#39;{:,}&#39;.format(20160721)
&#39;20,160,721&#39;
Nach dem Login kopieren
Die Formatierungsfunktion ist zu leistungsstark und es gibt viele Funktionen, die Sie ausprobieren können.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage