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.
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.
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.
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 {:-}.
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 {:+}.
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 {:=}.
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.
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.
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.
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.