Python String format() Uitleg met VOORBEELDEN

Wat is Python Tekenreeksformaat()?

Python Tekenreeksformaat() is een functie die wordt gebruikt om de tekenreeks te vervangen, vervangen of converteren door tijdelijke aanduidingen met geldige waarden in de laatste tekenreeks. Het is een ingebouwde functie van de Python string class, die de geformatteerde string als uitvoer retourneert. De tijdelijke aanduidingen in de string worden gedefinieerd in accolades.

Bijvoorbeeld: “Welkom bij Guru99 {}”.format('value here').

Syntaxis van de functie format() in Python

templatestring.format(val1, val2...)

Kenmerken

val1, val2 … : De waarden die vervangen moeten worden in de gegeven template string die placeholders heeft in de vorm van accolades {}. De placeholders kunnen een string, sleutel/waardepaar, gehele getallen, drijvendekommagetallen, tekens, etc. zijn.

Winstwaarde

De uiteindelijke tekenreeks wordt geretourneerd, waarbij de geldige waarden zijn vervangen door de tijdelijke aanduidingen tussen accolades.

placeholders

De tijdelijke aanduidingen in de sjabloonstring worden weergegeven met behulp van accolades, bijvoorbeeld {}. De tijdelijke aanduiding kan leeg zijn {}, of kan een variabele bevatten voor bijvoorbeeld {name}, of kan een nummerindex bevatten, bijvoorbeeld {0}, {1}, etc.

Hoe werkt stringformat()?

De Python Tekenreeksformaat() methode scant de originele strings op placeholders. De placeholders kunnen lege accolades ({}) zijn, positionele argumenten d.w.z. de string kan placeholders hebben met index 0, 1 voor bijvoorbeeld {0}, {1} etc.

Voor trefwoordargumenten zal de variabelenaam aanwezig zijn binnen de accolades voor bijvoorbeeld {name}, {age}. In het geval van lege accolades, zullen de waarden van de opmaak binnen de accolades in volgorde worden vervangen.

De eerste waarde wordt vervangen door de eerste lege accolade, gevolgd door de volgende. Voor positionele argumenten begint de index vanaf 0, enzovoort. De waarden zijn beschikbaar in een indeling, gescheiden door komma's en de 0th waarde verwijst naar de eerste waarde binnen het formaat, enzovoort.

Voor trefwoordargumenten, dat wil zeggen: wanneer u een variabele in uw tijdelijke aanduidingen gebruikt, kunt u de volgorde van de waarden binnen het formaat instellen zoals u nodig hebt.

De volgorde doet er hier niet toe, omdat de waarden worden vervangen op basis van de variabelenaam die aanwezig is in format(). Hier zijn een paar voorbeelden van hoe u tijdelijke aanduidingen in een tekenreeks kunt gebruiken als leeg, positioneel en met trefwoorden of variabelen.

Voorbeeld: Lege tijdelijke aanduiding vervangen door een tekenreekswaarde

In het onderstaande voorbeeld heeft de string lege accolades ({}). De waarde die aan de opmaak is gegeven, wordt binnen de accolades ({}) vervangen.

De waarde die we willen vervangen is een string.

Voorbeeld:

Tekenreeksopmaak gebruiken in Python, willen we dat de accolades ({}) worden vervangen door een tekenreekswaarde. De waarde wordt gegeven aan format(“Guru99”). Bij uitvoering worden de accolades {} vervangen door Guru99 en krijgt u de uiteindelijke tekenreeks als Welkom bij Guru99 tutorials.

print ("Welcome to {} tutorials".format("Guru99"))

Output:

Welcome to Guru99 tutorials

Voorbeeld: lege tijdelijke aanduiding vervangen door een numerieke waarde

In het onderstaande voorbeeld willen we dat de numerieke waarde wordt vervangen in de originele string. De accolades ({}) worden toegevoegd op de plek waar u de numerieke waarde nodig hebt. Wanneer het wordt uitgevoerd, worden de lege accolades ({}) vervangen door de numerieke waarde.

Voorbeeld:

U kunt ook format() gebruiken om getallen in uw string in te voegen. Het voorbeeld laat zien hoe u de lege Placeholder {} vervangt met het getal 99 dat aanwezig is in format().

print ("Welcome to Guru{} Tutorials".format("99"))

Output:

Welcome to Guru99 Tutorials

Voorbeeld: het gebruik van variabele- of trefwoordargumenten in de tijdelijke aanduiding

Het is ook mogelijk om variabelen binnen de accolades te gebruiken, zoals in het onderstaande voorbeeld. De variabelen worden gedefinieerd binnen format(). Daarom wordt de waarde die aan de variabele is toegewezen, vervangen binnen de oorspronkelijke string wanneer het wordt uitgevoerd.

Voorbeeld:

U kunt variabelen gebruiken binnen accolades, bijvoorbeeld {name} {num}. De waarden voor de variabele name en num zijn beschikbaar in het formaat, d.w.z. format(name=”Guru”, num=”99″). De waarden die aan name en num worden gegeven, worden vervangen in {name} en {num}.

print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))

Output:

Welcome to Guru99 Tutorials

Voorbeeld: het gebruik van index- of positionele argumenten in de tijdelijke aanduiding

De waarden kunnen worden vervangen door indexen zoals 0, 1, 2 in de tijdelijke aanduidingen. De waarde wordt op volgorde gekozen uit format(), zoals weergegeven in het onderstaande voorbeeld.

Voorbeeld:

print ("Welcome to {0}{1} Tutorials".format("Guru","99"))

Output:

Welcome to Guru99 Tutorials

Voorbeeld: het gebruik van meerdere tijdelijke aanduidingen binnen een tekenreeks

In dit voorbeeld gaan we meerdere lege tijdelijke aanduidingen gebruiken.

Voorbeeld:

De tekenreeks die in het voorbeeld wordt gebruikt, heeft meerdere lege tijdelijke aanduidingen en elke tijdelijke aanduiding verwijst naar een waarde binnen format() . De eerste waarde wordt vervangen door de eerste tijdelijke aanduiding, enzovoort.

print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))

Output:

Guru99 is totally new kind of learning experience!

Opmaak binnen tijdelijke aanduidingen

Je hebt gezien dat het mogelijk is om een ​​tijdelijke aanduiding leeg te hebben, met een variabele of een index. Het is ook mogelijk dat u zich kunt aanmelden Python Tekenreeksopmaak binnen de tijdelijke aanduiding.

Hier is de lijst met formaten

Formaat BESCHRIJVING Voorbeeld
:d Het geeft de uitvoer in decimaal formaat wanneer het binnen de tijdelijke aanduiding wordt gebruikt print("The binary to decimal value is : {:d}".format(0b0011))

Output:

The binary to decimal value is  : 3
:b Het geeft de uitvoer in binair formaat wanneer het binnen de tijdelijke aanduiding wordt gebruikt print("The binary value is : {:b}".format(500))

Output:

The binary value is : 111110100
:e Het geeft de uitvoer in wetenschappelijk formaat wanneer het binnen de tijdelijke aanduiding wordt gebruikt, de exponent e in de uitvoer is in kleine letters. print("The scientific value is : {:e}".format(40))

Output:

The scientific format value is : 4.000000e+01
:E Het geeft de uitvoer in wetenschappelijk formaat als het binnen de tijdelijke aanduiding wordt gebruikt, de exponent E in de uitvoer is in hoofdletters print("The scientific value is : {:E}".format(40))

Output:

The scientific value is : 4.000000E+01
:f Hierdoor wordt een getalnotatie met een vast komma uitgevoerd. Standaard krijgt u de uitvoer van elk getal met zes decimalen. Als u maximaal 2 decimalen nodig heeft, gebruikt u dit als. 2f d.w.z. een punt (.) vóór 2f print("The value is : {:f}".format(40))

Output:

The value is  : 40.000000

Voorbeeld: Uitvoer weergeven tot 2 decimalen.

print("The value is : {:.2f}".format(40))

Output:

The value is: 40.00
:o Dit zal een octaal formaat uitvoeren print("The value is : {:o}".format(500))

Output:

The value is  : 764
:x Hierdoor wordt het hexadecimale formaat in kleine letters weergegeven print("The value is : {:x}".format(500))

Output:

The value is  : 1f4
:X Hierdoor wordt het hexadecimale formaat in hoofdletters weergegeven. print("The value is : {:X}".format(500))

Output:

The value is  : 1F4
:n Dit levert een getalnotatie op. print("The value is : {:n}".format(500.00))

Output:

The value is  : 500
:% Dit geeft de uitvoer in een percentageformaat.
Standaard worden er 6 decimalen gegeven voor de procentuele uitvoer. Als u geen decimale waarde wilt, kunt u een punt met 0 gebruiken, dat wil zeggen (:.0%).
print("The value is : {:%}".format(0.80))

Output:

The value is  : 80.000000%

Dit voorbeeld laat zien hoe u de decimalen kunt overslaan door {:.0%} in de tijdelijke aanduiding te gebruiken.

print("The value is : {:.0%}".format(0.80))
Output:

The value is: 80%
:_ Hierdoor wordt een onderstrepingsteken weergegeven als scheidingsteken voor duizendtallen. Het is beschikbaar vanaf Python 3.6+. print("The value is {:_}".format(1000000))

Output:

The value is  : 1_000_000
:, Dit levert een komma op als scheidingsteken voor duizendtallen print("The value is : {:,}".format(1000000))

Output:

The value is  : 1,000,000

De komma(,) wordt toegevoegd als scheidingsteken voor duizendtallen, zoals weergegeven in de uitvoer.

: Hiermee wordt een spatie toegevoegd vóór alle positieve getallen Dit voorbeeld laat zien hoe u spatie of opvulling toevoegt vóór het opgegeven getal. Het cijfer 5 geeft het gewenste aantal spaties vóór het nummer aan.

print("The value is: {:5}".format(40))

Output:

The value is:    40
:- Hiermee wordt een minteken toegevoegd voor negatieve getallen Het voorbeeld laat zien hoe u de uitvoer kunt verkrijgen met een minteken (-) vóór het getal met behulp van {:-}.

print("The value is: {:-}".format(-40))

Output:

The value is: -40
:+ U kunt het plusteken gebruiken om aan te geven dat het getal positief is Het voorbeeld laat zien hoe u de uitvoer kunt verkrijgen met een plusteken (+) vóór het getal met behulp van {:+}.

print("The value is: {:+}".format(40))

Output:

The value is: +40
:= Het gelijk aan wordt gebruikt om het +/- teken aan de linkerkant te plaatsen. Het voorbeeld laat zien hoe u de uitvoer kunt verkrijgen met een plusteken (+/-) vóór het gelijkteken met behulp van {:=}.

print("The value is {:=}".format(-40))

Output:

The value is -40
:^ Hierdoor wordt het eindresultaat gecentreerd In het voorbeeld ziet u hoe u {:^} gebruikt om de tekst gecentreerd uit te lijnen. Het getal 10 wordt gebruikt om 10 spaties toe te voegen om de gecentreerde weergave weer te geven wanneer de waarde wordt vervangen.

print("The value {:^10} is positive value".format(40))

Output:

The value     40     is a positive value

Hier kunt u 10 gebruiken, waardoor er 10 spaties worden toegevoegd aan de uiteindelijke tekst, en de te vervangen waarde wordt gecentreerd uitgelijnd tussen de 10 spaties. De spaties van 10 zijn alleen toegevoegd om de centrale uitlijning van de vervangen waarde weer te geven.

:> Hierdoor wordt het eindresultaat rechts uitgelijnd De spatie van 10 wordt toegevoegd met behulp van (:>10), en de vervangen waarde wordt rechts uitgelijnd.

print("The value {:>10} is positive value".format(40))

Output:

The value         40 is positive value
:< Hierdoor wordt het eindresultaat uitgelijnd De spatie van 10 wordt toegevoegd met behulp van (:<10), en de vervangende waarde wordt links uitgelijnd.

print("The value {:<10} is positive value".format(40))

Output:

The value 40         is positive value

Klasse gebruiken met format()

In dit voorbeeld maken we een klasse en gebruiken we het object van de klasse binnen de .format Python methode. De tijdelijke aanduidingen verwijzen naar klasse-eigenschappen of leden die het klasseobject gebruiken.

Voorbeeld:

De klasse wordt aangeroepen binnen het format(c=MyClass()). Het object c zal een verwijzing hebben naar de eigenschappen en methoden binnen de klasse MyClass().

class MyClass:
    msg1="Guru"
    msg2="Tutorials"   

print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))

Output:

Welcome to Guru99 Tutorials!

Woordenboek gebruiken met format()

Het is ook mogelijk om woordenboek binnen format() te gebruiken, zoals weergegeven in het onderstaande voorbeeld:

my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}
print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))

Output:

Welcome to Guru99 Tutorials!

Variabele vervangingen opvullen

Met de methode string.format() kunt u opvulling en spatie toevoegen door tijdelijke aanduidingen in uw tekenreeks te gebruiken.

Voorbeeld:

In onderstaand voorbeeld wordt er ruimte toegevoegd binnen de Placeholder met behulp van format(). Om ruimte toe te voegen, moet u het aantal spaties binnen de accolades na de dubbele punt(:) opgeven. De Placeholder ziet er dan uit als {:5}.

print("I have {:5} dogs and {:5} cat".format(2,1))

Output:

I have     2 dogs and     1 cat

U kunt ook de index binnen de tijdelijke aanduiding opgeven, bijvoorbeeld: {0:5} waarbij 0 verwijst naar de eerste waarde binnen het formaat.

print("I have {0:5} dogs and {1:5} cat".format(2,1))

Output:

I have     2 dogs and     1 cat

Samenvatting

  • Python string klasse geeft ons een belangrijke ingebouwde opdracht genaamd format() die ons helpt de string te vervangen, vervangen of converteren met tijdelijke aanduidingen met geldige waarden in de laatste string.
  • De tijdelijke aanduidingen in de stringmodule Python worden gedefinieerd in accolades, bijvoorbeeld: “Welkom bij Guru99 {}”.format('waarde hier').
  • De tijdelijke aanduiding kan leeg zijn {}, of hij kan een variabele hebben voor bijvoorbeeld {name} , of hij kan een nummerindex hebben, bijvoorbeeld {0}, {1} enz.
  • U kunt gebruik maken van String Formatting in Python binnen tijdelijke aanduidingen die kunnen helpen bij het toevoegen van opvulling, centreren en ook helpen bij het opmaken van getallen.