Python-strengformat () Forklar med EKSEMPLER

Innholdsfortegnelse:

Anonim

Hva er Python String format ()?

Python String format () er en funksjon som brukes til å erstatte, erstatte eller konvertere strengen med plassholdere med gyldige verdier i den endelige strengen. Det er en innebygd funksjon av Python-strengklassen, som returnerer den formaterte strengen som en utgang. Plassholderne inne i strengen er definert i krøllete parenteser.

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

I denne opplæringen lærer du:

  • Hva er Python String format ()?
  • Syntaks for format () -funksjonen i Python
  • Hvordan fungerer strengformat ()?
  • Eksempel: Tom plassholder erstattet med en strengverdi
  • Eksempel: Tom plassholder erstattet med en numerisk verdi
  • Eksempel: Bruk av argumenter for variabler eller søkeord inne i plassholderen
  • Eksempel: Bruk av indeks- eller posisjonsargumenter inne i plassholderen
  • Formatering på plassholdere
  • Bruke klasse med format ()
  • Bruke ordbok med format ()
  • Polstring Variable erstatninger

Syntaks for format () -funksjonen i Python

templatestring.format(val1, val2… )

Parametere

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

Returverdi:

Den returnerer den endelige strengen, med gyldige verdier erstattet i stedet for plassholderne gitt i krøllete parenteser.

Plassholdere

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

Hvordan fungerer strengformat ()?

Python String format () -metoden skanner de originale strengene for plassholdere. Plassholderne kan være tomme krøllete parenteser ({}), posisjonsargumenter, dvs. at strengen kan ha plassholdere med indeks 0, 1 for f.eks. {0}, {1} osv.

For søkeordargumenter vil variabelnavnet være tilstede i krøllete parenteser for f.eks. {Name}, {age}. I tilfelle tomme krøllete parenteser, vil verdiene fra formatet bli erstattet i krøllete parenteser i rekkefølge.

Den første verdien erstattes med den første tomme krøllete parentesen, etterfulgt av den neste. For posisjonsargumenter starter indeksen fra 0 og så videre. Verdiene vil være tilgjengelige i format adskilt med komma, og 0 - verdien vil peke på 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, da verdiene blir erstattet basert på variabelnavnet som er tilstede i formatet (). Her er noen eksempler på hvordan du kan bruke plassholdere i en streng som tomme, posisjonelle og ved hjelp av nøkkelord eller variabler.

Eksempel: Tom plassholder erstattet med en strengverdi

I eksemplet nedenfor har strengen tomme krøllete parenteser ({}). Verdien gitt til formatet blir erstattet i de krøllete parentesene ({}).

Verdien vi vil erstatte er en streng.

Eksempel:

Ved å bruke strengformatering i Python vil vi at krøllete parenteser ({}) skal erstattes med en strengverdi. Verdien er gitt til formatet ("Guru99"). Ved utførelse erstattes de krøllete parentesene {} med Guru99, og du får den siste strengen som Welcome to Guru99 tutorials.

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

Produksjon:

Welcome to Guru99 tutorials

Eksempel: Tom plassholder erstattet med en numerisk verdi

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

Eksempel:

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

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

Produksjon:

Welcome to Guru99 Tutorials

Eksempel: Bruk av argumenter for variabler eller søkeord inne i plassholderen

Det er også mulig å bruke variabler i krøllete parenteser, som vist i eksemplet nedenfor. Variablene er definert i formatet (). Derfor, når den kjøres, erstattes verdien som er tildelt variabelen i den opprinnelige strengen.

Eksempel:

Du kan bruke variabler i krøllete parenteser, for eksempel {name} {num}. Verdiene for name og num variable er tilgjengelige i formatet dvs. format (name = "Guru", num = "99"). Verdiene gitt til navn og num blir erstattet i {name} og {num}.

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

Produksjon:

Welcome to Guru99 Tutorials

Eksempel: Bruk av indeks- eller posisjonsargumenter inne i plassholderen

Verdiene kan erstattes med indekser som 0, 1, 2 inne i plassholderne. Verdien blir plukket i rekkefølge fra formatet (), som vist i eksemplet nedenfor.

Eksempel:

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

Produksjon:

Welcome to Guru99 Tutorials

Eksempel: Bruke flere plassholdere 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 formatet (). 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"))

Produksjon:

Guru99 is totally new kind of learning experience!

Formatering på 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 bruke Python-strengformatering inne i plassholderen.

Her er listen over formater

Format Beskrivelse Eksempel
: d Det vil gi utdataene i desimalformat når de brukes inne i plassholderen print("The binary to decimal value is : {:d}".format(0b0011)) Produksjon:
The binary to decimal value is : 3
: b Det vil gi utdataene i binært format når de brukes inne i plassholderen print("The binary value is : {:b}".format(500)) Produksjon:
The binary value is : 111110100
: e Det vil gi utdataene i vitenskapelig format når de brukes inne i plassholderen, og eksponenten e i utgangen vil være små bokstaver. print("The scientific value is : {:e}".format(40)) Produksjon:
The scientific format value is : 4.000000e+01
: E Det vil gi utdataene i vitenskapelig format når de brukes inne i plassholderen, eksponenten E i utgangen vil være stor print("The scientific value is : {:E}".format(40)) Produksjon:
The scientific value is : 4.000000E+01
: f Dette vil gi et fastpunktsnummerformat. Som standard får du utdata fra et hvilket som helst tall med seks desimaler. Hvis du trenger opptil 2 desimaler, bruk den som. 2f dvs.… en periode (.) Foran 2f print("The value is : {:f}".format(40)) Produksjon:
The value is : 40.000000
Eksempel: Viser utdata opptil 2 desimaler. print("The value is : {:.2f}".format(40)) Produksjon:
The value is: 40.00
: o Dette vil gi ut oktalt format print("The value is : {:o}".format(500)) Produksjon:
The value is : 764
: x Dette vil gi hex-format med små bokstaver print("The value is : {:x}".format(500)) Produksjon:
The value is : 1f4
: X Dette vil gi hex-format i store bokstaver. print("The value is : {:X}".format(500)) Produksjon:
The value is : 1F4
: n Dette vil sende tallformat. print("The value is : {:n}".format(500.00)) Produksjon:
The value is : 500
:% Dette vil gi utdataene i prosentformat. Som standard vil det gi 6 desimaler for prosentvis utgang, i tilfelle du ikke vil ha noen desimalverdi, kan du bruke periode med 0 dvs. (: .0%). print("The value is : {:%}".format(0.80)) Produksjon:
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)) Produksjon:
The value is: 80%
: _ Dette vil gi et understrek som tusen skilletegn. Den er tilgjengelig fra python 3.6+. print("The value is {:_}".format(1000000)) Produksjon:
The value is : 1_000_000
:, Dette vil sende komma som tusenvis skilletegn print("The value is : {:,}".format(1000000)) Produksjon:
The value is : 1,000,000
Kommaet (,) legges til som tusen skilletegn som vist i utdataene.
: Dette vil legge til et mellomrom før eventuelle positive tall Dette eksemplet viser hvordan du legger til plass eller polstring før det gitte nummeret. Tallet 5 angir plassantallet du vil ha før tallet. print("The value is: {:5}".format(40)) Produksjon:
The value is: 40
: - Dette vil legge til et minustegn før negative tall Eksemplet viser hvordan du får utdata med et minustegn (-) før tallet ved hjelp av {: -}. print("The value is: {:-}".format(-40)) Produksjon:
The value is: -40
: + Du kan bruke plusstegnet for å indikere at tallet er positivt Eksemplet viser hvordan du får utdata med et plusstegn (+) før tallet ved hjelp av {: +}. print("The value is: {:+}".format(40)) Produksjon:
The value is: +40
: = Samme som brukes til å plassere +/- tegnet på venstre side. Eksemplet viser hvordan du får utdataene med et plusstegn (+/-) før det er lik tegnet ved hjelp av {: =}. print("The value is {:=}".format(-40)) Produksjon:
The value is -40
: Dette vil midtstille det endelige resultatet Eksemplet viser å bruke {: ^} til å midtjustere teksten. Tallet 10 brukes til å legge til 10 mellomrom for å vise midtjustert når verdien erstattes. print("The value {:^10} is positive value".format(40)) Produksjon:
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 midtjustert mellom de 10 mellomrommene. Mellomromene på 10 er lagt til bare for å vise midtjusteringen av den erstattede verdien.
:> Dette vil rette inn det endelige resultatet Mellomrom på 10 legges til ved bruk av (:> 10), og verdien som erstattes, er høyrejustert. print("The value {:>10} is positive value".format(40)) Produksjon:
The value 40 is positive value
: < Dette vil etterlate det endelige resultatet Mellomrom på 10 legges til ved hjelp av (: <10), og verdien som erstattes blir venstrejustert. print("The value {:<10} is positive value".format(40)) Produksjon:
The value 40 is positive value

Bruke klasse med format ()

I dette eksemplet lager vi en klasse og bruker objektet til klassen i .format Python-metoden. Plassholderne vil henvise til klasseegenskaper eller medlemmer ved hjelp av klasseobjektet.

Eksempel:

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

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

Produksjon:

Welcome to Guru99 Tutorials!

Bruke ordbok med format ()

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

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

Produksjon:

Welcome to Guru99 Tutorials!

Polstring Variable erstatninger

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

Eksempel:

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

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

Produksjon:

I have 2 dogs and 1 cat

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

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

Produksjon:

I have 2 dogs and 1 cat

Sammendrag

  • Python-strengklasse gir oss en viktig innebygd kommando kalt format () som hjelper oss å erstatte, erstatte eller konvertere strengen med plassholdere med gyldige verdier i den endelige 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 nummerindeks, f.eks. {0}, {1} osv.
  • Du kan bruke strengformatering i Python inne i plassholdere som kan bidra til å legge til polstring, midtjustering og også hjelpe med nummerformatering.