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: