Python String format() Forklar med EKSEMPLER

โšก Smart oppsummering

Python String format() er en innebygd metode som erstatter plassholdere for krรธllparenteser i en malstreng med angitte verdier. Plassholdere godtar tomme parenteser, posisjonsindekser eller nรธkkelordnavn, og stรธtter spesifikatorer for tall, justering og utfyllingsformat for det endelige resultatet.

  • ๐Ÿ”ค Plassholdere: Krรธlleparenteser {} markerer hvor verdier skal plasseres โ€“ tomme, nummererte {0} eller navngitte {name}.
  • ๐Ÿ”ข Posisjonell og nรธkkelord: format() fyller tomme klammeparenteser i rekkefรธlge, etter indeksposisjon eller ved รฅ matche nรธkkelordnavn.
  • ๐ŸŽ›๏ธ Formatspesifikasjoner: Et kolon legger til koder som {:d}, {:b}, {:.2f} og {:x} for desimal-, binรฆr-, fastpunkt- og heksadesimalutdata.
  • โ†”๏ธ Justering og polstring: Breddetall med {:^10} eller {:,} midtstil teksten, legg til avstand og sett inn tusenskilletegn.
  • ๐Ÿงฑ Objekter og ordbรธker: Plassholdere leser klasseattributter med {c.attr} og ordbokverdier med {m[key]}.
  • ๐Ÿค– AI-hjelp: AI-kodingsassistenter genererer format()-kall og f-strengekvivalenter fra ledetekster i enkeltsprรฅk.

Python Strengformat()

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, vi รธnsker at krรธllparentesene ({}) skal erstattes med en strengverdi. Verdien gis til format(โ€œGuru99"). Ved utfรธrelse erstattes de krรธllparentesene {} med Guru99, og du vil fรฅ den siste strengen som Velkommen til Guru99 veiledninger.

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 i krรธllparenteser, for eksempel {name} {num}. Verdiene for variabelen name og num er tilgjengelige i formatet, dvs. format(name=โ€Guru", num="99"). Verdiene gitt til name og num vil bli erstattet inni {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

Spรธrsmรฅl og svar

f-strenger, lagt til i Python 3.6, legg inn uttrykk direkte og kjรธrer vanligvis raskere. format()-metoden fungerer fortsatt pรฅ eldre Python versjoner og nรฅr malen kommer fra en variabel, fil eller brukerinndata.

%-operatoren bruker printf-stilsymboler som %s og %d, mens format() bruker plassholdere med krรธllparenteser som stรธtter navn, indekser og mer omfattende spesifikatorer. Den renere hรฅndteringen av omorganisering og layout er grunnen til at format() erstattet % i moderne kode.

Double tannreguleringen for รฅ unnslippe dem. Takk.ping to รฅpningsparenteser skriver ut รฉn bokstavelig parentes, og to avsluttende parenteser skriver ut รฉn avsluttende parentes, slik at en ekte plassholder fortsatt fungerer ved siden av de bokstavelige parentesene i samme malstreng.

En manglende posisjonsverdi gir IndexError, og et manglende nรธkkelord eller ordlistenavn gir KeyError. Det er tillatt รฅ sende inn flere verdier enn plassholdere, og det ignoreres rett og slett ekstraverdiene, sรฅ bare fravรฆrende referanser, ikke overflรธdige, forรฅrsaker en feil.

format()-metoden fungerer i Python 2.6 og hver Python 3 utgivelse. Automatisk feltnummerering, der klammeparenteser forblir tomme i stedet for รฅ skrive {0} {1}, trenger Python 2.7 eller 3.1 og senere.

Nei. Python Strenger er uforanderlige, sรฅ format() bygger og returnerer en helt ny streng mens malen forblir uendret. Tilordne resultatet til en variabel, for eksempel message = template.format(value), for รฅ beholde den formaterte teksten til senere bruk.

Maskinlรฆringskode bruker format() til รฅ bygge lesbare logger, sette sammen ledetekstmaler for sprรฅkmodeller og skrive ut mรฅlinger som nรธyaktighet til faste desimaler. Rent formatert utdata gjรธr det enklere รฅ sammenligne eksperimenter og modellrapporter.

Ja. GitHub Copilot fullfรธrer format()-kall og deres spesifikatorer automatisk fra en kort kommentar som beskriver รธnsket utdata. Agentic AI-assistenter gรฅr lenger, konverterer format() til f-strenger, fikser justering og kjรธrer testene dine automatisk.

Oppsummer dette innlegget med: