Python String format() Forklar med EKSEMPLER

Hvad er Python Strengformat()?

Python String format() er en funktion, der bruges til at erstatte, erstatte eller konvertere strengen med pladsholdere med gyldige vรฆrdier i den endelige streng. Det er en indbygget funktion af Python string class, som returnerer den formaterede streng som et output. Pladsholderne inde i strengen er defineret i krรธllede parenteser.

For eksempel "Velkommen til Guru99 {}โ€.format('vรฆrdi her').

Syntaks for format() funktion i Python

templatestring.format(val1, val2...)

Driftsparametre

val1, val2 โ€ฆ: De vรฆrdier, der skal erstattes i den givne skabelonstreng, der har pladsholdere i form af krรธllede parenteser {}. Pladsholderne kan vรฆre en streng, nรธgle/vรฆrdi-par, heltal, flydende kommatal, tegn osv.

Returvรฆrdi

Det vil returnere den endelige streng, med gyldige vรฆrdier erstattet i stedet for pladsholderne angivet i krรธllede parenteser.

Pladsholdere

Pladsholderne i skabelonstrengen er reprรฆsenteret ved hjรฆlp af krรธllede parenteser, f.eks. {}. Pladsholderen kan vรฆre tom {}, eller den kan have en variabel for f.eks. {navn} , eller den kan have et talindeks, f.eks. {0} , {1} osv.

Hvordan virker strengformat()?

Python String format() metoden scanner de originale strenge for pladsholdere. Pladsholderne kan vรฆre tomme krรธllede parenteser ({}), positionsargumenter dvs. strengen kan have pladsholdere med indeks 0, 1 for fx {0}, {1} osv.

For sรธgeordsargumenter vil variabelnavnet vรฆre til stede inden for de krรธllede parenteser for f.eks. {navn}, {alder}. I tilfรฆlde af tomme krรธllede parenteser, vil vรฆrdierne fra formatet blive erstattet inden for de krรธllede parenteser i rรฆkkefรธlge.

Den fรธrste vรฆrdi vil blive erstattet med den fรธrste tomme krรธllede parentes, efterfulgt af den nรฆste. For positionelle argumenter vil indekset starte fra 0 og sรฅ videre. Vรฆrdierne vil vรฆre tilgรฆngelige i format adskilt med kommaer og 0th vรฆrdi vil pege pรฅ den fรธrste vรฆrdi i formatet og sรฅ videre.

For sรธgeordsargumenter, dvs. nรฅr du bruger en variabel i dine pladsholdere, kan du have rรฆkkefรธlgen af โ€‹โ€‹vรฆrdier inde i formatet, som du har brug for.

Rรฆkkefรธlgen er ligegyldig her, da vรฆrdierne vil blive erstattet baseret pรฅ variabelnavnet, der findes i formatet(). Her er et par eksempler pรฅ, hvordan du bruger pladsholdere inde i en streng som tomme, positionelle og ved at bruge nรธgleord eller variabler.

Eksempel: Tom pladsholder erstattet med en strengvรฆrdi

I eksemplet nedenfor har strengen tomme krรธllede parenteser({}). Vรฆrdien givet til formatet vil blive erstattet inden for de krรธllede parenteser({}).

Den vรฆrdi, som vi รธnsker at blive erstattet, er en streng.

Eksempel:

Brug af strengformatering i Python, vi รธnsker at de krรธllede parenteser ({}) skal erstattes med en strengvรฆrdi. Vรฆrdien gives til format("Guru99"). Ved udfรธrelse erstattes de krรธllede parenteser {} med Guru99, og du fรฅr den sidste streng som Velkommen til Guru99 vejledninger.

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

Output:

Welcome to Guru99 tutorials

Eksempel: Tom pladsholder erstattet med en numerisk vรฆrdi

I eksemplet nedenfor รธnsker vi, at den numeriske vรฆrdi skal erstattes inde i den originale streng. De krรธllede parenteser({}) fรธjes til det sted, hvor du skal bruge den numeriske vรฆrdi. Nรฅr den udfรธres, erstattes de tomme krรธllede parenteser ({}) med den numeriske vรฆrdi.

Eksempel:

Du kan ogsรฅ bruge format() til at indsรฆtte tal i din streng. Eksemplet viser, hvordan man erstatter den tomme pladsholder {} med nummer 99, der er til stede i format().

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

Output:

Welcome to Guru99 Tutorials

Eksempel: Brug af variable eller nรธgleordsargumenter inde i pladsholderen

Det er ogsรฅ muligt at gรธre brug af variable inden for de krรธllede parenteser, som vist i eksemplet nedenfor. Variablerne er defineret inde i format(). Derfor, nรฅr den udfรธres, erstattes den vรฆrdi, der er tildelt til variablen, inde i den oprindelige streng.

Eksempel:

Du kan bruge variabler i krรธllede parenteser, for eksempel {name} {num}. Vรฆrdierne for variablerne name og num er tilgรฆngelige i formatet, dvs. format(name=โ€Guru", num="99"). Vรฆrdierne givet til name og num vil blive erstattet inde i {name} og {num}.

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

Output:

Welcome to Guru99 Tutorials

Eksempel: Brug af indeks- eller positionsargumenter inde i pladsholderen

Vรฆrdierne kan erstattes ved hjรฆlp af indekser som 0, 1, 2 inde i pladsholderne. Vรฆrdien vil blive valgt i rรฆkkefรธlge fra formatet(), som vist i eksemplet nedenfor.

Eksempel:

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

Output:

Welcome to Guru99 Tutorials

Eksempel: Brug af flere pladsholdere inde i en streng

I dette eksempel skal vi bruge flere tomme pladsholdere.

Eksempel:

Den streng, der bruges i eksemplet, har flere tomme pladsholdere, og hver pladsholder vil referere til en vรฆrdi inde i format() . Den fรธrste vรฆrdi vil blive erstattet af den fรธrste pladsholder og sรฅ videre.

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

Output:

Guru99 is totally new kind of learning experience!

Formatering inde i pladsholdere

Du har set, at det er muligt at have Pladsholder som tom, med en variabel eller et indeks. Det er ogsรฅ muligt, at du kan sรธge Python Strengformatering inde i pladsholderen.

Her er listen over formater

dannet Beskrivelse Eksempel
:d Det vil give output i decimalformat, nรฅr det bruges inde i pladsholderen print("The binary to decimal value is : {:d}".format(0b0011))

Output:

The binary to decimal value is  : 3
:b Det vil give output i binรฆrt format, nรฅr det bruges inde i pladsholderen print("The binary value is : {:b}".format(500))

Output:

The binary value is : 111110100
:e Det vil give output i videnskabeligt format, nรฅr det bruges inde i pladsholderen, eksponenten e i outputtet vil vรฆre med smรฅ bogstaver. print("The scientific value is : {:e}".format(40))

Output:

The scientific format value is : 4.000000e+01
:E Det vil give output i videnskabeligt format, nรฅr det bruges inde i pladsholderen, eksponenten E i outputtet vil vรฆre med store bogstaver print("The scientific value is : {:E}".format(40))

Output:

The scientific value is : 4.000000E+01
:f Dette vil udsende et fast-punkt tal-format. Som standard vil du fรฅ output fra ethvert tal med seks decimaler. Hvis du har brug for op til 2 decimaler, skal du bruge det som. 2f dvs. et punktum (.) foran 2f print("The value is : {:f}".format(40))

Output:

The value is  : 40.000000

Eksempel: Viser output op til 2 decimaler.

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

Output:

The value is: 40.00
:o Dette vil udsende oktal format print("The value is : {:o}".format(500))

Output:

The value is  : 764
:x Dette vil udskrive hex-format med smรฅ bogstaver print("The value is : {:x}".format(500))

Output:

The value is  : 1f4
:X Dette vil udskrive hex-format med store bogstaver. print("The value is : {:X}".format(500))

Output:

The value is  : 1F4
:n Dette vil udlรฆse talformat. print("The value is : {:n}".format(500.00))

Output:

The value is  : 500
:% Dette vil give output i et procentformat.
Som standard vil det give 6 decimaler for den procentvise output, hvis du ikke รธnsker nogen decimalvรฆrdi, kan du bruge punktum med 0, dvs. (:.0%).
print("The value is : {:%}".format(0.80))

Output:

The value is  : 80.000000%

Dette eksempel viser, hvordan du springer decimalerne over ved at bruge {:.0%} inde i pladsholderen.

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

The value is: 80%
:_ Dette vil udsende en understregning som tusinde-separator. Den er tilgรฆngelig fra python 3.6+. print("The value is {:_}".format(1000000))

Output:

The value is  : 1_000_000
:, Dette vil udskrive komma som en tusinde-separator print("The value is : {:,}".format(1000000))

Output:

The value is  : 1,000,000

Kommaet(,) tilfรธjes , som tusindseparator som vist i outputtet.

: Dette vil tilfรธje et mellemrum fรธr eventuelle positive tal Dette eksempel viser, hvordan man tilfรธjer mellemrum eller udfyldning fรธr det givne tal. Tallet 5 angiver det mellemrumsantal, du รธnsker fรธr tallet.

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

Output:

The value is:    40
:- Dette vil tilfรธje et minustegn fรธr negative tal Eksemplet viser, hvordan man fรฅr output med et minustegn (-) fรธr tallet ved hjรฆlp af {:-}.

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

Output:

The value is: -40
:+ Du kan bruge plustegnet til at angive, at tallet er positivt Eksemplet viser, hvordan man fรฅr output med et plustegn (+) fรธr tallet ved hjรฆlp af {:+}.

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

Output:

The value is: +40
:= Lige til bruges til at placere +/- tegnet pรฅ venstre side. Eksemplet viser, hvordan man fรฅr output med et plus (+/-)-tegn fรธr lig med fortegn ved hjรฆlp af {:=}.

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

Output:

The value is -40
:^ Dette vil centrere det endelige resultat Eksemplet viser at bruge {:^} til at centrere teksten. Tallet 10 bruges til at tilfรธje 10 mellemrum for at vise den midterste, nรฅr vรฆrdien udskiftes.

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

Output:

The value     40     is a positive value

Her kan du bruge 10, der tilfรธjer 10 mellemrum i den endelige tekst, og den vรฆrdi, der skal erstattes, vil blive centreret mellem de 10 mellemrum. Mellemrummene pรฅ 10 tilfรธjes bare for at vise midterjusteringen af โ€‹โ€‹den erstattede vรฆrdi.

:> Dette vil hรธjrejustere det endelige resultat Mellemrummet pรฅ 10 tilfรธjes ved hjรฆlp af (:>10), og den erstattede vรฆrdi er hรธjrejusteret.

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

Output:

The value         40 is positive value
:< Dette vil venstrejustere det endelige resultat Mellemrummet pรฅ 10 tilfรธjes ved hjรฆlp af (:<10), og vรฆrdien erstattes venstrejusteres.

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

Output:

The value 40         is positive value

Brug af klasse med format()

I dette eksempel opretter vi en klasse og bruger klassens objekt inde i .format Python metode. Pladsholderne vil referere til klasseegenskaber eller medlemmer, der bruger klasseobjektet.

Eksempel:

Klassen kaldes inde i formatet (c=MyClass()). Objektet c vil have referencen til egenskaberne og metoderne inde i klassen MyClass().

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

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

Output:

Welcome to Guru99 Tutorials!

Brug af ordbog med format()

Det er ogsรฅ muligt at gรธre brug af ordbog inde i format() som vist i eksemplet nedenfor:

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

Output:

Welcome to Guru99 Tutorials!

Padding Variable Substitutions

Ved at bruge string.format() metoden kan du tilfรธje polstring, mellemrum ved at bruge pladsholdere inde i din streng.

Eksempel:

I eksemplet nedenfor tilfรธjes plads inde i pladsholderen ved hjรฆlp af formatet(). For at tilfรธje mellemrum skal du angive antallet af mellemrum inden for krรธllede parenteser efter kolon(:). Sรฅ pladsholderen vil se ud som {:5}.

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

Output:

I have     2 dogs and     1 cat

Du kan ogsรฅ give indekset inde i pladsholderen for eksempel: {0:5} hvor 0 vil referere til den fรธrste vรฆrdi i formatet.

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

Output:

I have     2 dogs and     1 cat

Resumรฉ

  • Python string class giver os en vigtig indbygget kommando kaldet format(), der hjรฆlper os med at erstatte, erstatte eller konvertere strengen med pladsholdere med gyldige vรฆrdier i den endelige streng.
  • Pladsholderne inde i strengmodulet Python er defineret i krรธllede parenteser, f.eks. "Velkommen til Guru99 {}โ€.format('vรฆrdi her').
  • Pladsholderen kan vรฆre tom {}, eller den kan have en variabel for f.eks. {navn} , eller den kan have et talindeks, f.eks. {0} , {1} osv.
  • Du kan gรธre brug af String Formatting i Python inde i pladsholdere, der kan hjรฆlpe med at tilfรธje polstring, centrere justering og ogsรฅ hjรฆlpe med talformatering.

Opsummer dette indlรฆg med: