Python-strengformat () Forklar med EKSEMPLER

Indholdsfortegnelse:

Anonim

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.000000
Eksempel: 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,000
Kommaet (,) 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 value
Her 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.