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.

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: