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.
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.
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.
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 {:-}.
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 {:+}.
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 {:=}.
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.
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.
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.
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.
