Python String format () Leg uit met VOORBEELDEN

Inhoudsopgave:

Anonim

Wat is het Python String-formaat ()?

Python String format () is een functie die wordt gebruikt om de string te vervangen, te vervangen of om te zetten met tijdelijke aanduidingen met geldige waarden in de laatste string. Het is een ingebouwde functie van de Python-stringklasse, die de opgemaakte string als uitvoer retourneert. De tijdelijke aanduidingen in de tekenreeks worden tussen accolades gedefinieerd.

Bijvoorbeeld: "Welkom bij Guru99 {}". Format ('waarde hier').

In deze tutorial leer je:

  • Wat is het Python String-formaat ()?
  • Syntaxis van de functie format () in Python
  • Hoe string format () werkt?
  • Voorbeeld: lege tijdelijke aanduiding vervangen door een tekenreekswaarde
  • Voorbeeld: lege tijdelijke aanduiding vervangen door een numerieke waarde
  • Voorbeeld: variabele of trefwoordargumenten gebruiken binnen de tijdelijke aanduiding
  • Voorbeeld: gebruik van index- of positionele argumenten binnen de tijdelijke aanduiding
  • Opmaak binnen tijdelijke aanduidingen
  • Klasse gebruiken met format ()
  • Woordenboek gebruiken met indeling ()
  • Variabele vervangingen opvullen

Syntaxis van de functie format () in Python

templatestring.format(val1, val2… )

Parameters

val1, val2…: De waarden die moeten worden vervangen in de gegeven sjabloontekenreeks met tijdelijke aanduidingen in de vorm van accolades {}. De tijdelijke aanduidingen kunnen een tekenreeks, sleutel / waarde-paar, gehele getallen, drijvende-kommagetallen, tekens, enz. Zijn.

Winstwaarde:

Het retourneert de laatste tekenreeks, waarbij geldige waarden worden vervangen in plaats van de tijdelijke aanduidingen tussen accolades.

Tijdelijke aanduidingen

De tijdelijke aanduidingen in de sjabloontekenreeks worden weergegeven met accolades, bijvoorbeeld {}. De tijdelijke aanduiding kan leeg zijn {}, of het kan een variabele hebben voor bijvoorbeeld {naam}, of het kan een nummerindex hebben, bijvoorbeeld {0}, {1} enz.

Hoe string format () werkt?

De methode Python String format () scant de originele strings op tijdelijke aanduidingen. De tijdelijke aanduidingen kunnen lege accolades ({}) zijn, positionele argumenten, dwz de string kan tijdelijke aanduidingen hebben met index 0, 1 voor bijvoorbeeld {0}, {1} enz.

Voor trefwoordargumenten zal de variabelenaam tussen accolades staan ​​voor bijvoorbeeld {naam}, {leeftijd}. In het geval van lege accolades, worden de waarden van het formaat op volgorde tussen de accolades 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 die wordt gescheiden door komma's, en de 0 ste waarde verwijst naar de eerste waarde in de indeling, enzovoort.

Voor trefwoordargumenten, dwz wanneer u een variabele in uw tijdelijke aanduidingen gebruikt, kunt u de volgorde van de waarden binnen het formaat hebben zoals u nodig hebt.

De volgorde is hier niet van belang, aangezien de waarden worden vervangen op basis van de variabelenaam die aanwezig is in het formaat (). Hier zijn een paar voorbeelden van het gebruik van tijdelijke aanduidingen in een tekenreeks als leeg, positioneel en met behulp van trefwoorden of variabelen.

Voorbeeld: lege tijdelijke aanduiding vervangen door een tekenreekswaarde

In het onderstaande voorbeeld heeft de tekenreeks lege accolades ({}). De waarde die aan het formaat is gegeven, wordt vervangen tussen accolades ({}).

De waarde die we willen vervangen is een string.

Voorbeeld:

Als we 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 krijg je de laatste string als Welcome to Guru99 tutorials.

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

Uitgang:

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 binnen de originele tekenreeks. De accolades ({}) worden toegevoegd aan de plaats waar u de numerieke waarde nodig heeft. 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 tijdelijke aanduiding {} vervangt door nummer 99 aanwezig in format ().

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

Uitgang:

Welcome to Guru99 Tutorials

Voorbeeld: variabele of trefwoordargumenten gebruiken binnen de tijdelijke aanduiding

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

Voorbeeld:

U kunt variabelen tussen accolades gebruiken, bijvoorbeeld {naam} {aantal}. De waarden voor naam en aantal variabele zijn beschikbaar in het formaat, dwz het formaat (naam = "Guru", num = "99"). De waarden die aan name en num worden gegeven, worden vervangen tussen {name} en {num}.

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

Uitgang:

Welcome to Guru99 Tutorials

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

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

Voorbeeld:

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

Uitgang:

Welcome to Guru99 Tutorials

Voorbeeld: meerdere tijdelijke aanduidingen binnen een string gebruiken

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"))

Uitgang:

Guru99 is totally new kind of learning experience!

Opmaak binnen tijdelijke aanduidingen

Je hebt gezien dat het mogelijk is om Placeholder leeg te hebben, met een variabele of een index. Het is ook mogelijk dat u Python String Formatting binnen de Placeholder kunt toepassen.

Hier is de lijst met formaten

Formaat Omschrijving 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)) Uitgang:
The binary to decimal value is : 3
: b Het geeft de uitvoer in binair formaat wanneer het in de tijdelijke aanduiding wordt gebruikt print("The binary value is : {:b}".format(500)) Uitgang:
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 zal in kleine letters zijn. print("The scientific value is : {:e}".format(40)) Uitgang:
The scientific format value is : 4.000000e+01
: E. Het geeft de uitvoer in wetenschappelijk formaat wanneer het binnen de tijdelijke aanduiding wordt gebruikt, de exponent E in de uitvoer is een hoofdletter print("The scientific value is : {:E}".format(40)) Uitgang:
The scientific value is : 4.000000E+01
: f Hierdoor wordt een getalnotatie met een vast punt uitgevoerd. Standaard krijgt u de uitvoer van elk getal met zes decimalen. Als u maximaal 2 decimalen nodig heeft, gebruik deze dan als. 2f ie… een punt (.) Voor 2f print("The value is : {:f}".format(40)) Uitgang:
The value is : 40.000000
Voorbeeld: uitvoer weergeven tot 2 decimalen. print("The value is : {:.2f}".format(40)) Uitgang:
The value is: 40.00
:O Dit zal een octaal formaat uitvoeren print("The value is : {:o}".format(500)) Uitgang:
The value is : 764
:X Dit zal het hex-formaat in kleine letters weergeven print("The value is : {:x}".format(500)) Uitgang:
The value is : 1f4
:X Dit zal het hexadecimale formaat in hoofdletters weergeven. print("The value is : {:X}".format(500)) Uitgang:
The value is : 1F4
: n Dit zal het getalformaat uitvoeren. print("The value is : {:n}".format(500.00)) Uitgang:
The value is : 500
Dit geeft de uitvoer in een percentage-indeling. Standaard geeft het 6 decimalen voor het uitvoerpercentage, voor het geval u geen decimale waarde wilt, kunt u een punt met 0 gebruiken, dwz (: .0%). print("The value is : {:%}".format(0.80)) Uitgang:
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)) Uitgang:
The value is: 80%
Dit levert een onderstrepingsteken op als scheidingsteken voor duizendtallen. Het is beschikbaar vanaf python 3.6+. print("The value is {:_}".format(1000000)) Uitgang:
The value is : 1_000_000
Dit levert een komma op als scheidingsteken voor duizendtallen print("The value is : {:,}".format(1000000)) Uitgang:
The value is : 1,000,000
De komma (,) wordt toegevoegd als scheidingsteken voor duizendtallen, zoals weergegeven in de uitvoer.
Dit voegt een spatie toe voor positieve getallen Dit voorbeeld laat zien hoe u spatie of opvulling toevoegt vóór het opgegeven nummer. Het cijfer 5 geeft het aantal spaties aan dat u vóór het nummer wilt. print("The value is: {:5}".format(40)) Uitgang:
The value is: 40
Hiermee wordt een minteken toegevoegd voor negatieve getallen Het voorbeeld laat zien hoe u de uitvoer krijgt met een minteken (-) voor het nummer met {: -}. print("The value is: {:-}".format(-40)) Uitgang:
The value is: -40
U kunt het plusteken gebruiken om aan te geven dat het nummer positief is Het voorbeeld laat zien hoe u de uitvoer krijgt met een plusteken (+) voor het nummer met {: +}. print("The value is: {:+}".format(40)) Uitgang:
The value is: +40
De gelijk aan wordt gebruikt om het +/- teken aan de linkerkant te plaatsen. Het voorbeeld laat zien hoe u de uitvoer krijgt met een plusteken (+/-) vóór gelijk aan teken met {: =}. print("The value is {:=}".format(-40)) Uitgang:
The value is -40
Dit zal het eindresultaat centreren Het voorbeeld laat zien dat u {: ^} gebruikt om de tekst in het midden 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)) Uitgang:
The value 40 is a positive value
Hier kunt u 10 gebruiken waarmee 10 spaties in de uiteindelijke tekst worden toegevoegd, en de te vervangen waarde wordt gecentreerd tussen de 10 spaties. De spaties van 10 worden alleen toegevoegd om de uitlijning in het midden van de vervangen waarde weer te geven.
Dit zal het uiteindelijke resultaat rechts uitlijnen De spatie van 10 wordt toegevoegd met (:> 10) en de vervangen waarde wordt rechts uitgelijnd. print("The value {:>10} is positive value".format(40)) Uitgang:
The value 40 is positive value
Hierdoor blijft het uiteindelijke resultaat uitgelijnd De spatie van 10 wordt toegevoegd met (: <10) en de waarde die wordt vervangen, wordt links uitgelijnd. print("The value {:<10} is positive value".format(40)) Uitgang:
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 formaat (c = MyClass ()). Het object c zal de verwijzing hebben naar de eigenschappen en methoden in de klasse MyClass ().

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

Uitgang:

Welcome to Guru99 Tutorials!

Woordenboek gebruiken met indeling ()

Het is ook mogelijk om gebruik te maken van het woordenboek binnen formaat (), zoals in het onderstaande voorbeeld wordt getoond:

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

Uitgang:

Welcome to Guru99 Tutorials!

Variabele vervangingen opvullen

Met de methode string.format () kunt u opvulling, spatie toevoegen door plaatshouders in uw tekenreeks te gebruiken.

Voorbeeld:

In het onderstaande voorbeeld wordt ruimte toegevoegd in de tijdelijke aanduiding met behulp van de indeling (). Om spatie toe te voegen, moet u het aantal spaties tussen accolades achter de dubbele punt (:) specificeren. De tijdelijke aanduiding ziet er dus uit als {: 5}.

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

Uitgang:

I have 2 dogs and 1 cat

U kunt ook de index binnen de tijdelijke aanduiding geven, 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))

Uitgang:

I have 2 dogs and 1 cat

Overzicht

  • Python string class geeft ons een belangrijk ingebouwd commando genaamd format () dat ons helpt om de string te vervangen, te vervangen of om te zetten met tijdelijke aanduidingen met geldige waarden in de laatste string.
  • De tijdelijke aanduidingen in de stringmodule Python worden tussen accolades gedefinieerd, bijvoorbeeld "Welkom bij Guru99 {}". Format ('waarde hier').
  • De tijdelijke aanduiding kan leeg zijn {}, of het kan een variabele hebben voor bijvoorbeeld {naam}, of het kan een nummerindex hebben, bijvoorbeeld {0}, {1} enz.
  • U kunt gebruik maken van tekenreeksopmaak in Python binnen tijdelijke aanduidingen die kunnen helpen bij het toevoegen van opvulling, gecentreerde uitlijning en ook bij het opmaken van getallen.