Python String format() Forklar med EKSEMPLER

โšก Smart opsummering

Python String format() er en indbygget metode, der erstatter pladsholdere til krรธllede parenteser i en skabelonstreng med angivne vรฆrdier. Pladsholdere accepterer tomme parenteser, positionsindekser eller nรธgleordsnavne og understรธtter specifikationer for nummer, justering og padding-format for det endelige output.

  • ๐Ÿ”ค Pladsholdere: Krรธllede parenteser {} markerer, hvor vรฆrdier skal placeres โ€” tomme, nummererede {0} eller navngivne {name}.
  • ๐Ÿ”ข Positionel og sรธgeord: format() udfylder tomme parenteser i rรฆkkefรธlge, efter indeksposition eller ved at matche nรธgleordsnavne.
  • ๐ŸŽ›๏ธ Formatspecifikationer: Et kolon tilfรธjer koder som {:d}, {:b}, {:.2f} og {:x} for decimal-, binรฆr-, fixed-point- og hex-output.
  • โ†”๏ธ Justering og polstring: Breddetal med {:^10} eller {:,} centrer teksten, tilfรธj afstand og indsรฆt tusindseparatorer.
  • ๐Ÿงฑ Objekter og ordbรธger: Pladsholdere lรฆser klasseattributter med {c.attr} og ordbogsvรฆrdier med {m[key]}.
  • ๐Ÿค– AI assistance: AI-kodningsassistenter genererer format()-kald og f-strengรฆkvivalenter fra prompter i letforstรฅeligt sprog.

Python String format()

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 gives til format("Guru99"). Ved udfรธrelse erstattes de krรธllede parenteser {} med Guru99, og du fรฅr den sidste streng som Velkommen til Guru99 vejledninger.

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 i krรธllede parenteser, for eksempel {name} {num}. Vรฆrdierne for variablerne name og num er tilgรฆngelige i formatet, dvs. format(name=โ€Guru", num="99"). Vรฆrdierne givet til name og num vil blive erstattet inde i {name} 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 Beskrivelse 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

Ofte Stillede Spรธrgsmรฅl

f-strenge, tilfรธjet i Python 3.6, integrerer udtryk direkte og kรธrer normalt hurtigere. Format()-metoden fungerer stadig pรฅ รฆldre versioner Python versioner, og nรฅr skabelonen kommer fra en variabel, fil eller brugerinput.

%-operatoren bruger printf-lignende symboler sรฅsom %s og %d, mens format() bruger pladsholdere med krรธllede parenteser, der understรธtter navne, indekser og mere omfattende specifikationer. Dens renere hรฅndtering af รฆndring af rรฆkkefรธlge og layout er grunden til, at format() erstattede % i moderne kode.

Double bรธjlerne for at undslippe dem. Tak.ping To indledende parenteser udskriver รฉn bogstavelig parentes, og to afsluttende parenteser udskriver รฉn afsluttende parentes, sรฅ en rigtig pladsholder fungerer stadig sammen med de bogstavelige parenteser i den samme skabelonstreng.

En manglende positionsvรฆrdi forรฅrsager IndexError, og et manglende nรธgleord eller ordbogsnavn forรฅrsager KeyError. Det er tilladt at overfรธre flere vรฆrdier end pladsholdere, og det ignorerer blot de ekstra vรฆrdier, sรฅ kun manglende referencer, ikke overskydende, forรฅrsager en fejl.

format()-metoden fungerer i Python 2.6 og hver Python 3. udgivelse. Automatisk feltnummerering, hvor parenteser forbliver tomme i stedet for at skrive {0} {1}, krรฆver Python 2.7 eller 3.1 og senere.

Nej. Python Strenge er uforanderlige, sรฅ format() opbygger og returnerer en helt ny streng, mens skabelonen forbliver uรฆndret. Tildel resultatet til en variabel, for eksempel message = template.format(value), for at gemme den formaterede tekst til senere brug.

Maskinlรฆringskode bruger format() til at bygge lรฆsbare logfiler, sammensรฆtte promptskabeloner til sprogmodeller og udskrive metrikker sรฅsom nรธjagtighed til faste decimaler. Rent formateret output gรธr det nemmere at sammenligne eksperimenter og modelrapporter.

Ja. GitHub Copilot fuldfรธrer automatisk format()-kald og deres specifikationer fra en kort kommentar, der beskriver det รธnskede output. Agentic AI-assistenter gรฅr endnu videre, konverterer format() til f-strenge, retter justering og kรธrer dine tests automatisk.

Opsummer dette indlรฆg med: