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 er givet til format ("Guru99"). Ved udførelse erstattes de krøllede parenteser {} med Guru99, og du vil få den sidste streng som Velkommen til Guru99 tutorials.
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 inden for krøllede parenteser, f.eks. {navn} {num}. Værdierne for navn og num variable er tilgængelige i formatet, dvs. format(navn=”Guru”, num=”99″). Værdierne givet til navn og num vil blive erstattet inde i {navn} 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 | Produktbeskrivelse | 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.
