Heim > Backend-Entwicklung > Python-Tutorial > Pythons leistungsstarke String-Formatierungsfunktion – format

Pythons leistungsstarke String-Formatierungsfunktion – format

高洛峰
Freigeben: 2016-10-17 11:38:22
Original
1229 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 ersetzt % durch {} und:


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

Die Zeichenfolge Die Formatfunktion kann unbegrenzte Parameter akzeptieren, die Parameterpositionen müssen nicht in der richtigen Reihenfolge sein und die Parameter können nicht oder mehrfach verwendet werden, was sehr flexibel ist

Hinweis: Unter Python2 darf es nicht leer sein {} .6, Python2. Version 7 oder höher ist verfügbar.


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 Indizes

>>> '{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 umfangreiche „Formatqualifizierer“ (die Syntax ist {} mit einem :-Zeichen), wie zum Beispiel:

Auffüllung und Ausrichtung

Auffüllung wird oft zusammen mit Ausrichtung

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

: Das Zeichen, dem die Auffüllung folgt, kann nur ein Zeichen sein. Wenn nicht angegeben, wird es standardmäßig mit Leerzeichen gefüllt. Die Genauigkeit des Typs f

wird häufig zusammen mit dem Typ f

<🎜 verwendet > wobei .2 die Genauigkeit der Länge 2 darstellt und f den Float-Typ darstellt.

Andere Typen
>>> &#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

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

>>> &#39;{:.2f}&#39;.format(2016.0721)
&#39;2016.07&#39;
Nach dem Login kopieren

kann auch als Tausendertrennzeichen für Beträge verwendet werden.

Die Funktion des Formatierens ist zu leistungsfähig und es gibt viele Funktionen. Sie können es ausprobieren.
>>> &#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

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