Hvad er Python String-format ()?
Python- strengformat () 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-strengklassen, som returnerer den formaterede streng som en output. Pladsholderne inde i strengen er defineret i krøllede parenteser.
For eksempel "Velkommen til Guru99 {}". Format ('værdi her').
I denne vejledning lærer du:
- Hvad er Python String-format ()?
- Syntaks for format () -funktionen i Python
- Hvordan strengformat () fungerer?
- Eksempel: Tom pladsholder erstattet med en strengværdi
- Eksempel: Tom pladsholder erstattet med en numerisk værdi
- Eksempel: Brug af variable eller nøgleordargumenter inde i pladsholderen
- Eksempel: Brug af indeks- eller positionsargumenter inde i pladsholderen
- Formatering inde i pladsholdere
- Brug af klasse med format ()
- Brug af ordbog med format ()
- Polstring Variable udskiftninger
Syntaks for format () -funktionen i Python
templatestring.format(val1, val2… )
Parametre
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 tal, tegn osv.
Returværdi:
Den returnerer 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. {Name}, eller den kan have et nummerindeks, f.eks. {0}, {1} osv.
Hvordan strengformat () fungerer?
Python String format () -metoden scanner de originale strenge for pladsholdere. Pladsholderne kan være tomme krøllede parenteser ({}), positionelle argumenter, dvs. strengen kan have pladsholdere med indeks 0, 1 for f.eks. {0}, {1} osv.
For søgeordsargumenter vil variabelnavnet være til stede inden for de krøllede parenteser for f.eks. {Name}, {age}. I tilfælde af tomme krøllede parenteser erstattes værdierne fra formatet inden for de krøllede parenteser i rækkefølge.
Den første værdi erstattes med den første tomme krøllede parentes efterfulgt af den næste. For positionelle argumenter starter indekset fra 0 og så videre. Værdierne vil være tilgængelige i format adskilt med kommaer, og 0 - værdien peger på den første værdi i formatet og så videre.
For søgeordsargumenter, dvs. når du bruger en variabel inde i dine pladsholdere, kan du have rækkefølgen af værdier i det format, som du har brug for.
Rækkefølgen betyder ikke noget her, da værdierne erstattes baseret på variabelnavnet til stede i formatet (). Her er et par eksempler på, hvordan man bruger pladsholdere inde i en streng som tomme, positionelle og ved hjælp af nøgleord eller variabler.
Eksempel: Tom pladsholder erstattet med en strengværdi
I eksemplet nedenfor har strengen tomme krøllede parenteser ({}). Den værdi, der gives til formatet, erstattes inden for de krøllede parenteser ({}).
Den værdi, som vi vil erstatte, er en streng.
Eksempel:
Ved hjælp af strengformatering i Python ønsker vi, at de krøllede parenteser ({}) skal erstattes med en strengværdi. Værdien gives til formatet ("Guru99"). Ved udførelse erstattes de krøllede parenteser {} med Guru99, og du får den sidste streng som Velkommen til Guru99-tutorials.
print ("Welcome to {} tutorials".format("Guru99"))
Produktion:
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 inden i den originale streng. De krøllede parenteser ({}) føjes til det sted, hvor du har brug for 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 udskifter den tomme pladsholder {} med nummer 99 til stede i formatet ().
print ("Welcome to Guru{} Tutorials".format("99"))
Produktion:
Welcome to Guru99 Tutorials
Eksempel: Brug af variable eller nøgleordargumenter inde i pladsholderen
Det er også muligt at gøre brug af variabler inden for de krøllede parenteser, som vist i eksemplet nedenfor. Variablerne er defineret i formatet (). Derfor, når den udføres, erstattes den værdi, der er tildelt variablen inden i den originale streng.
Eksempel:
Du kan bruge variabler inden for krøllede parenteser, for eksempel {name} {num}. Værdierne for name og num-variablen er tilgængelige i formatet dvs. format (name = "Guru", num = "99"). De værdier, der gives til navn og num, erstattes inden for {name} og {num}.
print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))
Produktion:
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 plukkes i rækkefølge fra formatet (), som vist i eksemplet nedenfor.
Eksempel:
print ("Welcome to {0}{1} Tutorials".format("Guru","99"))
Produktion:
Welcome to Guru99 Tutorials
Eksempel: Brug af flere pladsholdere inde i en streng
I dette eksempel skal vi bruge flere tomme pladsholdere.
Eksempel:
Strengen, der bruges i eksemplet, har flere tomme pladsholdere, og hver pladsholder henviser til en værdi i formatet (). Den første værdi erstattes for den første pladsholder og så videre.
print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))
Produktion:
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 anvende Python-strengformatering inde i pladsholderen.
Her er listen over formater
Format | Beskrivelse | Eksempel |
---|---|---|
: d | Det giver output i decimalformat, når det bruges inde i pladsholderen | print("The binary to decimal value is : {:d}".format(0b0011)) Produktion:
The binary to decimal value is : 3 |
: b | Det giver output i binært format, når det bruges inde i pladsholderen | print("The binary value is : {:b}".format(500)) Produktion:
The binary value is : 111110100 |
: e | Det giver output i videnskabeligt format, når det bruges inde i pladsholderen, eksponenten e i output vil være små bogstaver. | print("The scientific value is : {:e}".format(40)) Produktion:
The scientific format value is : 4.000000e+01 |
: E | Det giver output i videnskabeligt format, når det bruges inde i pladsholderen, eksponenten E i output vil være stor | print("The scientific value is : {:E}".format(40)) Produktion:
The scientific value is : 4.000000E+01 |
: f | Dette udsender et fast punktformat. Som standard får du output fra et vilkårligt tal med seks decimaler. Hvis du har brug for op til 2 decimaler, skal du bruge det som. 2f dvs.… en periode (.) Foran 2f | print("The value is : {:f}".format(40)) Produktion:
The value is : 40.000000Eksempel: Viser output op til 2 decimaler. print("The value is : {:.2f}".format(40)) Produktion:
The value is: 40.00 |
: o | Dette udsender oktalt format | print("The value is : {:o}".format(500)) Produktion:
The value is : 764 |
:x | Dette udsender hex-format med små bogstaver | print("The value is : {:x}".format(500)) Produktion:
The value is : 1f4 |
:X | Dette udsender hex-format i store bogstaver. | print("The value is : {:X}".format(500)) Produktion:
The value is : 1F4 |
: n | Dette udsender talformat. | print("The value is : {:n}".format(500.00)) Produktion:
The value is : 500 |
:% | Dette giver output i procentformat. Som standard vil det give 6 decimaler for den procentvise output, hvis du ikke vil have nogen decimalværdi, kan du bruge periode med 0 dvs. (: .0%). | print("The value is : {:%}".format(0.80)) Produktion:
The value is : 80.000000%Dette eksempel viser, hvordan man springer decimaler over ved at bruge {: .0%} inde i pladsholderen. print("The value is : {:.0%}".format(0.80)) Produktion:
The value is: 80% |
: _ | Dette udsender en understregning som tusind separator. Den er tilgængelig fra python 3.6+. | print("The value is {:_}".format(1000000)) Produktion:
The value is : 1_000_000 |
:, | Dette udsender komma som tusinder | print("The value is : {:,}".format(1000000)) Produktion:
The value is : 1,000,000Kommaet (,) tilføjes som en tusindskiller som vist i output. |
: | Dette tilføjer et mellemrum før eventuelle positive tal | Dette eksempel viser, hvordan du tilføjer plads eller polstring før det givne nummer. Nummeret 5 angiver det pladsantal, du vil have før nummeret. print("The value is: {:5}".format(40)) Produktion:
The value is: 40 |
: - | Dette tilføjer et minustegn før negative tal | Eksemplet viser, hvordan man får output med et minus (-) tegn foran nummeret ved hjælp af {: -}. print("The value is: {:-}".format(-40)) Produktion:
The value is: -40 |
: + | Du kan bruge plustegnet til at angive, at tallet er positivt | Eksemplet viser, hvordan man får output med et plus (+) tegn før nummeret ved hjælp af {: +}. print("The value is: {:+}".format(40)) Produktion:
The value is: +40 |
: = | Ligesom bruges til at placere +/- tegnet på venstre side. | Eksemplet viser, hvordan man får output med et plus (+/-) tegn før lig med tegn ved hjælp af {: =}. print("The value is {:=}".format(-40)) Produktion:
The value is -40 |
: | Dette vil centrere det endelige resultat | Eksemplet viser at bruge {: ^} til at centrere teksten. Nummeret 10 bruges til at tilføje 10 mellemrum for at vise den centerjusterede, når værdien udskiftes. print("The value {:^10} is positive value".format(40)) Produktion:
The value 40 is a positive valueHer kan du bruge 10, der tilføjer 10 mellemrum i den endelige tekst, og den værdi, der skal udskiftes, centreres mellem de 10 mellemrum. Mellemrummet på 10 tilføjes bare for at vise centerjusteringen af den udskiftede værdi. |
:> | Dette justerer det endelige resultat til højre | Rummet på 10 tilføjes ved hjælp af (:> 10), og den udskiftede værdi er højrejusteret. print("The value {:>10} is positive value".format(40)) Produktion:
The value 40 is positive value |
: < | Dette vil efterlade det endelige resultat | Rummet på 10 tilføjes ved hjælp af (: <10), og værdien, der erstattes, venstrejusteres. print("The value {:<10} is positive value".format(40)) Produktion:
The value 40 is positive value |
Brug af klasse med format ()
I dette eksempel opretter vi en klasse og bruger klassens objekt inden for .format Python-metoden. Pladsholderne henviser til klasseegenskaber eller medlemmer ved hjælp af klasseobjektet.
Eksempel:
Klassen kaldes inde i formatet (c = MyClass ()). Objektet c har henvisningen til egenskaberne og metoderne inden for klasse MyClass ().
class MyClass:msg1="Guru"msg2="Tutorials"print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))
Produktion:
Welcome to Guru99 Tutorials!
Brug af ordbog med format ()
Det er også muligt at gøre brug af ordbogens indvendige format () som vist i eksemplet nedenfor:
my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))
Produktion:
Welcome to Guru99 Tutorials!
Polstring Variable udskiftninger
Ved hjælp af string.format () -metoden kan du tilføje polstring, plads ved at bruge pladsholdere inde i din streng.
Eksempel:
I nedenstående eksempel tilføjes plads inde i pladsholderen ved hjælp af formatet (). For at tilføje plads 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))
Produktion:
I have 2 dogs and 1 cat
Du kan også angive indekset inde i pladsholderen for eksempel: {0: 5} hvor 0 henviser til den første værdi i formatet.
print("I have {0:5} dogs and {1:5} cat".format(2,1))
Produktion:
I have 2 dogs and 1 cat
Resumé
- Python-strengklasse 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. {Name}, eller den kan have et nummerindeks, f.eks. {0}, {1} osv.
- Du kan gøre brug af strengformatering i Python inde i pladsholdere, der kan hjælpe med at tilføje polstring, centerjustering og også hjælpe med nummerformatering.