Python String format() Forklar med EKSEMPLER

Hva er Python Strengformat()?

Python Strengformat() er en funksjon som brukes til å erstatte, erstatte eller konvertere strengen med plassholdere med gyldige verdier i den siste strengen. Det er en innebygd funksjon av Python string class, som returnerer den formaterte strengen som en utdata. Plassholderne inne i strengen er definert i krøllete parenteser.

For eksempel "Velkommen til Guru99 {}".format('verdi her').

Syntaks for format()-funksjonen i Python

templatestring.format(val1, val2...)

Parametre

val1, val2 … : Verdiene som må erstattes i den gitte malstrengen som har plassholdere i form av krøllede parenteser {}. Plassholderne kan være en streng, nøkkel/verdi-par, heltall, flytende tall, tegn osv.

Returverdi

Den vil returnere den siste strengen, med gyldige verdier erstattet i stedet for plassholderne gitt i krøllede parenteser.

Plassholdere

Plassholderne i malstrengen er representert ved hjelp av krøllede parenteser, f.eks. {}. Plassholderen kan være tom {}, eller den kan ha en variabel for f.eks. {navn} , eller den kan ha en tallindeks, f.eks. {0} , {1} osv.

Hvordan fungerer strengformat()?

Ocuco Python Strengformat() metoden vil skanne de originale strengene for plassholdere. Plassholderne kan være tomme krøllede parenteser ({}), posisjonsargumenter dvs. strengen kan ha plassholdere med indeks 0, 1 for f.eks. {0}, {1} osv.

For søkeordargumenter vil variabelnavnet være tilstede innenfor de krøllede parentesene for f.eks. {navn}, {alder}. I tilfelle av tomme parenteser, vil verdiene fra formatet bli erstattet innenfor de krøllede parentesene i rekkefølge.

Den første verdien vil bli erstattet med den første tomme krøllete parentesen, etterfulgt av den neste. For posisjonsargumenter vil indeksen starte fra 0 og så videre. Verdiene vil være tilgjengelige i format atskilt med komma og 0th verdi vil peke til den første verdien i formatet og så videre.

For søkeordargumenter, dvs. når du bruker en variabel i plassholderne dine, kan du ha rekkefølgen på verdiene i formatet etter behov.

Rekkefølgen spiller ingen rolle her siden verdiene vil bli erstattet basert på variabelnavnet som er tilstede i formatet(). Her er noen eksempler på hvordan du bruker plassholdere inne i en streng som tomme, posisjonelle og bruker nøkkelord eller variabler.

Eksempel: Tom plassholder erstattet med en strengverdi

I eksemplet nedenfor har strengen tomme krøllede parenteser({}). Verdien gitt til formatet vil bli erstattet innenfor de krøllede parentesene ({}).

Verdien som vi ønsker skal erstattes er en streng.

Eksempel:

Bruke strengformatering i Python, vil vi at de krøllede parentesene ({}) skal erstattes med en strengverdi. Verdien er gitt til format ("Guru99"). Ved utførelse erstattes de krøllede parentesene {} med Guru99, og du vil få den siste strengen som Velkommen til Guru99-opplæringen.

print ("Welcome to {} tutorials".format("Guru99"))

Utgang:

Welcome to Guru99 tutorials

Eksempel: Tom plassholder erstattet med en numerisk verdi

I eksemplet nedenfor ønsker vi at den numeriske verdien skal erstattes inne i den opprinnelige strengen. De krøllede parentesene ({}) legges til stedet der du trenger den numeriske verdien. Når den kjøres, erstattes de tomme krøllede parentesene ({}) med den numeriske verdien.

Eksempel:

Du kan også bruke format() for å sette inn tall i strengen din. Eksemplet vil vise hvordan du erstatter den tomme plassholderen {} med nummer 99 i formatet().

print ("Welcome to Guru{} Tutorials".format("99"))

Utgang:

Welcome to Guru99 Tutorials

Eksempel: Bruk av variabel- eller nøkkelordargumenter inne i plassholderen

Det er også mulig å bruke variabler innenfor de krøllede parentesene, som vist i eksemplet nedenfor. Variablene er definert i format(). Derfor, når den kjøres, erstattes verdien som er tildelt variabelen inne i den opprinnelige strengen.

Eksempel:

Du kan bruke variabler innenfor krøllete parenteser, for eksempel {navn} {num}. Verdiene for navn og num-variabel er tilgjengelig i formatet, dvs. format(navn=”Guru”, num=”99″). Verdiene gitt til navn og num vil bli erstattet inne i {name} og {num}.

print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))

Utgang:

Welcome to Guru99 Tutorials

Eksempel: Bruke indeks- eller posisjonsargumenter inne i plassholderen

Verdiene kan erstattes ved å bruke indekser som 0, 1, 2 inne i plassholderne. Verdien vil bli plukket i rekkefølge fra formatet(), som vist i eksemplet nedenfor.

Eksempel:

print ("Welcome to {0}{1} Tutorials".format("Guru","99"))

Utgang:

Welcome to Guru99 Tutorials

Eksempel: Bruk av flere plassholdere inne i en streng

I dette eksemplet skal vi bruke flere tomme plassholdere.

Eksempel:

Strengen som brukes i eksemplet har flere tomme plassholdere, og hver plassholder vil referere til en verdi i format() . Den første verdien vil bli erstattet for den første plassholderen og så videre.

print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))

Utgang:

Guru99 is totally new kind of learning experience!

Formatering inne i plassholdere

Du har sett at det er mulig å ha Plassholder som tom, med en variabel eller en indeks. Det er også mulig at du kan søke Python Strengformatering inne i plassholderen.

Her er listen over formater

dannet Tekniske beskrivelser Eksempel
:d Det vil gi utdata i desimalformat når det brukes inne i plassholderen print("The binary to decimal value is : {:d}".format(0b0011))

Utgang:

The binary to decimal value is  : 3
:b Det vil gi utdata i binært format når det brukes inne i plassholderen print("The binary value is : {:b}".format(500))

Utgang:

The binary value is : 111110100
:e Det vil gi utdata i vitenskapelig format når det brukes inne i plassholderen, eksponenten e i utdata vil være små bokstaver. print("The scientific value is : {:e}".format(40))

Utgang:

The scientific format value is : 4.000000e+01
:E Det vil gi utdata i vitenskapelig format når det brukes inne i plassholderen, eksponenten E i utdataene vil være store bokstaver print("The scientific value is : {:E}".format(40))

Utgang:

The scientific value is : 4.000000E+01
:f Dette vil sende ut et fastpunktnummerformat. Som standard vil du få utdata av et hvilket som helst tall med seks desimaler. Hvis du trenger opptil 2 desimaler, bruk det som. 2f dvs. et punktum (.) foran 2f print("The value is : {:f}".format(40))

Utgang:

The value is  : 40.000000

Eksempel: Viser utdata opp til 2 desimaler.

print("The value is : {:.2f}".format(40))

Utgang:

The value is: 40.00
:o Dette vil gi ut oktalt format print("The value is : {:o}".format(500))

Utgang:

The value is  : 764
:x Dette vil sende ut hex-format med små bokstaver print("The value is : {:x}".format(500))

Utgang:

The value is  : 1f4
:X Dette vil sende ut hex-format med store bokstaver. print("The value is : {:X}".format(500))

Utgang:

The value is  : 1F4
:n Dette vil gi ut tallformat. print("The value is : {:n}".format(500.00))

Utgang:

The value is  : 500
:% Dette vil gi utdata i et prosentformat.
Som standard vil det gi 6 desimaler for den prosentvise produksjonen, i tilfelle du ikke vil ha noen desimalverdi kan du bruke punktum med 0 dvs. (:.0%).
print("The value is : {:%}".format(0.80))

Utgang:

The value is  : 80.000000%

Dette eksemplet viser hvordan du hopper over desimalene ved å bruke {:.0%} inne i plassholderen.

print("The value is : {:.0%}".format(0.80))
Utgang:

The value is: 80%
:_ Dette vil skrive ut en understreking som tusenseparator. Den er tilgjengelig fra python 3.6+. print("The value is {:_}".format(1000000))

Utgang:

The value is  : 1_000_000
:, Dette vil skrive ut komma som et tusenskilletegn print("The value is : {:,}".format(1000000))

Utgang:

The value is  : 1,000,000

Kommaet(,) legges til , som tusenskilletegn som vist i utdataene.

: Dette vil legge til et mellomrom før eventuelle positive tall Dette eksemplet viser hvordan du legger til mellomrom eller utfylling før det gitte tallet. Tallet 5 angir mellomromtellingen du ønsker før tallet.

print("The value is: {:5}".format(40))

Utgang:

The value is:    40
:- Dette vil legge til et minustegn før negative tall Eksemplet viser hvordan du får utdata med et minustegn (-) foran tallet ved å bruke {:-}.

print("The value is: {:-}".format(-40))

Utgang:

The value is: -40
:+ Du kan bruke plusstegnet for å indikere at tallet er positivt Eksemplet viser hvordan du får utdata med et plusstegn (+) foran tallet ved å bruke {:+}.

print("The value is: {:+}".format(40))

Utgang:

The value is: +40
:= Lik brukes til å plassere +/- tegnet på venstre side. Eksemplet viser hvordan du får utdata med et pluss (+/-)-tegn før lik-tegn ved å bruke {:=}.

print("The value is {:=}".format(-40))

Utgang:

The value is -40
:^ Dette vil sentrere det endelige resultatet Eksemplet viser å bruke {:^} for å sentrere teksten. Tallet 10 brukes til å legge til 10 mellomrom for å vise senterjustert når verdien erstattes.

print("The value {:^10} is positive value".format(40))

Utgang:

The value     40     is a positive value

Her kan du bruke 10 som vil legge til 10 mellomrom i den endelige teksten, og verdien som skal erstattes vil være midtstilt mellom de 10 mellomrommene. Mellomrommene på 10 legges til bare for å vise senterjusteringen av den erstattede verdien.

:> Dette vil høyrejustere det endelige resultatet Mellomrommet på 10 legges til ved å bruke (:>10), og verdien som erstattes er høyrejustert.

print("The value {:>10} is positive value".format(40))

Utgang:

The value         40 is positive value
:< Dette vil venstrejustere det endelige resultatet Mellomrommet på 10 legges til ved å bruke (:<10), og verdien erstattes venstrejustert.

print("The value {:<10} is positive value".format(40))

Utgang:

The value 40         is positive value

Bruke klasse med format()

I dette eksemplet lager vi en klasse og bruker objektet til klassen i .formatet Python metode. Plassholderne vil referere til klasseegenskaper eller medlemmer som bruker klasseobjektet.

Eksempel:

Klassen kalles inne i formatet(c=MyClass()). Objektet c vil ha referansen til egenskapene og metodene inne i klassen MyClass().

class MyClass:
    msg1="Guru"
    msg2="Tutorials"   

print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))

Utgang:

Welcome to Guru99 Tutorials!

Bruke ordbok med format()

Det er også mulig å bruke ordbok i format() som vist i eksemplet nedenfor:

my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}
print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))

Utgang:

Welcome to Guru99 Tutorials!

Utfylling av variable erstatninger

Ved å bruke string.format()-metoden kan du legge til polstring, mellomrom ved å bruke plassholdere inne i strengen.

Eksempel:

I eksemplet nedenfor vil det legges til plass inne i plassholderen ved å bruke formatet(). For å legge til mellomrom, må du spesifisere antall mellomrom innenfor krøllede parenteser etter kolon(:). Så plassholderen vil se ut som {:5}.

print("I have {:5} dogs and {:5} cat".format(2,1))

Utgang:

I have     2 dogs and     1 cat

Du kan også gi indeksen inne i plassholderen for eksempel: {0:5} hvor 0 vil referere til den første verdien i formatet.

print("I have {0:5} dogs and {1:5} cat".format(2,1))

Utgang:

I have     2 dogs and     1 cat

Sammendrag

  • Python string class gir oss en viktig innebygd kommando kalt format() som hjelper oss å erstatte, erstatte eller konvertere strengen med plassholdere med gyldige verdier i den siste strengen.
  • Plassholderne inne i strengmodulen Python er definert i krøllete parenteser, f.eks. "Velkommen til Guru99 {}".format('verdi her').
  • Plassholderen kan være tom {}, eller den kan ha en variabel for f.eks. {navn} , eller den kan ha en tallindeks, f.eks. {0} , {1} osv.
  • Du kan bruke strengformatering i Python inne i plassholdere som kan bidra til å legge til utfylling, senterjustering og også hjelpe med tallformatering.