Python String format() Förklara med EXEMPEL

Vad är Python Strängformat()?

Python Strängformat() är en funktion som används för att ersätta, ersätta eller konvertera strängen med platshållare med giltiga värden i den sista strängen. Det är en inbyggd funktion av Python string class, som returnerar den formaterade strängen som en utdata. Platshållarna inuti strängen definieras inom parenteser.

Till exempel, "Välkommen till Guru99 {}".format('värde här').

Syntax för format() funktion i Python

templatestring.format(val1, val2...)

Driftparametrar

val1, val2 … : Värdena som behöver ersättas i den givna mallsträngen som har platshållare i form av parenteser {}. Platshållarna kan vara en sträng, nyckel/värdepar, heltal, flyttal, tecken, etc.

Returvärde

Den kommer att returnera den sista strängen, med giltiga värden ersatta i stället för platshållarna som anges inom parentes.

Platshållare

Platshållarna i mallsträngen representeras med parenteser, t.ex. {}. Platshållaren kan vara tom {}, eller den kan ha en variabel för t.ex. {namn} , eller den kan ha ett talindex t.ex. {0} , {1} osv.

Hur fungerar strängformat()?

Ocuco-landskapet Python Strängformat() metod kommer att skanna de ursprungliga strängarna efter platshållare. Platshållarna kan vara tomma parenteser ({}), positionsargument dvs strängen kan ha platshållare med index 0, 1 för t.ex. {0}, {1} osv.

För nyckelordsargument kommer variabelnamnet att finnas inom parenteserna för t.ex. {name}, {age}. I fallet med tomma parenteser kommer värdena från formatet att ersättas innanför parenteserna i följd.

Det första värdet kommer att ersättas med den första tomma krulliga parentesen, följt av nästa. För positionsargument kommer indexet att börja från 0 och så vidare. Värdena kommer att vara tillgängliga i format separerade med kommatecken och 0th värde kommer att peka på det första värdet i formatet och så vidare.

För nyckelordsargument, det vill säga när du använder en variabel i dina platshållare, kan du ha värdeordningen i formatet som du behöver.

Ordningen spelar ingen roll här eftersom värdena kommer att ersättas baserat på variabelnamnet som finns i formatet(). Här är några exempel på hur du använder platshållare inuti en sträng som tomma, positionella och använder nyckelord eller variabler.

Exempel: Tom platshållare ersatt med ett strängvärde

I exemplet nedan har strängen tomma parenteser({}). Värdet som ges till formatet kommer att ersättas inom de krulliga parenteserna ({}).

Värdet som vi vill ska ersättas är en sträng.

Exempelvis:

Använda strängformatering i Python, vi vill att de krulliga parenteserna ({}) ska ersättas med ett strängvärde. Värdet ges till format ("Guru99"). Vid körning ersätts de krulliga parenteserna {} med Guru99, och du kommer att få den sista strängen som Välkommen till Guru99-handledningar.

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

Produktion:

Welcome to Guru99 tutorials

Exempel: Tom platshållare ersatt med ett numeriskt värde

I exemplet nedan vill vi att det numeriska värdet ska ersättas inuti den ursprungliga strängen. De lockiga parenteserna ({}) läggs till på platsen där du behöver det numeriska värdet. När den körs ersätts de tomma parenteserna ({}) med det numeriska värdet.

Exempelvis:

Du kan också använda format() för att infoga siffror i din sträng. Exemplet visar hur man ersätter den tomma platshållaren {} med nummer 99 som finns i format().

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

Produktion:

Welcome to Guru99 Tutorials

Exempel: Använda variabel- eller nyckelordsargument i platshållaren

Det är också möjligt att använda variabler inom de krulliga parenteserna, som visas i exemplet nedan. Variablerna är definierade i format(). Därför, när den körs, ersätts värdet som tilldelats variabeln inuti den ursprungliga strängen.

Exempelvis:

Du kan använda variabler inom klammerparenteser till exempel {namn} {num}. Värdena för namn och num-variabel är tillgängliga i formatet, dvs format(namn=”Guru”, num=”99″). Värdena som ges för namn och num kommer att ersättas i {name} och {num}.

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

Produktion:

Welcome to Guru99 Tutorials

Exempel: Använda index- eller positionsargument i platshållaren

Värdena kan ersättas med index som 0, 1, 2 inuti platshållarna. Värdet kommer att väljas i ordning från formatet(), som visas i exemplet nedan.

Exempelvis:

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

Produktion:

Welcome to Guru99 Tutorials

Exempel: Använda flera platshållare inuti en sträng

I det här exemplet kommer vi att använda flera tomma platshållare.

Exempelvis:

Strängen som används i exemplet har flera tomma platshållare och varje platshållare kommer att referera till ett värde inuti format() . Det första värdet kommer att ersättas för den första platshållaren och så vidare.

print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))

Produktion:

Guru99 is totally new kind of learning experience!

Formatering inuti platshållare

Du har sett att det är möjligt att ha platshållare som tom, med en variabel eller ett index. Det är också möjligt att du kan ansöka Python Strängformatering inuti platshållaren.

Här är listan över format

Format BESKRIVNING Exempelvis
:d Det kommer att ge utdata i decimalformat när det används inuti platshållaren print("The binary to decimal value is : {:d}".format(0b0011))

Produktion:

The binary to decimal value is  : 3
:b Det kommer att ge utdata i binärt format när det används inuti platshållaren print("The binary value is : {:b}".format(500))

Produktion:

The binary value is : 111110100
:e Det kommer att ge utdata i vetenskapligt format när det används inuti platshållaren, exponenten e i utdata kommer att vara gemener. print("The scientific value is : {:e}".format(40))

Produktion:

The scientific format value is : 4.000000e+01
:E Det kommer att ge utdata i vetenskapligt format när det används inuti platshållaren, exponenten E i utdata kommer att vara versaler print("The scientific value is : {:E}".format(40))

Produktion:

The scientific value is : 4.000000E+01
:f Detta kommer att mata ut ett fast punktnummerformat. Som standard kommer du att få utdata från valfritt tal med sex decimaler. Om du behöver upp till 2 decimaler, använd det som. 2f dvs. en punkt (.) framför 2f print("The value is : {:f}".format(40))

Produktion:

The value is  : 40.000000

Exempel: Visar utdata upp till 2 decimaler.

print("The value is : {:.2f}".format(40))

Produktion:

The value is: 40.00
:o Detta kommer att mata ut oktalt format print("The value is : {:o}".format(500))

Produktion:

The value is  : 764
:x Detta kommer att mata ut hex-format med gemener print("The value is : {:x}".format(500))

Produktion:

The value is  : 1f4
:X Detta kommer att mata ut hex-format med versaler. print("The value is : {:X}".format(500))

Produktion:

The value is  : 1F4
:n Detta kommer att mata ut talformat. print("The value is : {:n}".format(500.00))

Produktion:

The value is  : 500
:% Detta kommer att ge utdata i ett procentformat.
Som standard kommer det att ge 6 decimaler för den procentuella produktionen, om du inte vill ha något decimalvärde kan du använda punkt med 0 dvs (:.0%).
print("The value is : {:%}".format(0.80))

Produktion:

The value is  : 80.000000%

Det här exemplet visar hur du hoppar över decimalerna genom att använda {:.0%} i platshållaren.

print("The value is : {:.0%}".format(0.80))
Produktion:

The value is: 80%
:_ Detta kommer att mata ut ett understreck som tusenavgränsare. Den är tillgänglig från python 3.6+. print("The value is {:_}".format(1000000))

Produktion:

The value is  : 1_000_000
:, Detta kommer att mata ut komma som en tusentalsavgränsare print("The value is : {:,}".format(1000000))

Produktion:

The value is  : 1,000,000

Komma(,) läggs till som tusenavgränsare som visas i utgången.

: Detta kommer att lägga till ett mellanslag före eventuella positiva tal Det här exemplet visar hur man lägger till mellanslag eller utfyllnad före det givna numret. Siffran 5 anger det antal blanksteg du vill ha före siffran.

print("The value is: {:5}".format(40))

Produktion:

The value is:    40
:- Detta kommer att lägga till ett minustecken före negativa tal Exemplet visar hur man får utdata med ett minustecken (-) före siffran med {:-}.

print("The value is: {:-}".format(-40))

Produktion:

The value is: -40
:+ Du kan använda plustecknet för att indikera att siffran är positiv Exemplet visar hur man får utdata med ett plustecken (+) före siffran med {:+}.

print("The value is: {:+}".format(40))

Produktion:

The value is: +40
:= Lika med används för att placera +/- tecknet på vänster sida. Exemplet visar hur man får utdata med ett plustecken (+/-) före lika med tecken med hjälp av {:=}.

print("The value is {:=}".format(-40))

Produktion:

The value is -40
:^ Detta kommer att centrera det slutliga resultatet Exemplet visar att man använder {:^} för att centrera texten. Siffran 10 används för att lägga till 10 mellanslag för att visa mittjusterade när värdet ersätts.

print("The value {:^10} is positive value".format(40))

Produktion:

The value     40     is a positive value

Här kan du använda 10 som lägger till 10 mellanslag i den slutliga texten, och värdet som ska ersättas kommer att mittjusteras mellan de 10 mellanslagen. Mellanrummen på 10 läggs till bara för att visa mittinställningen av det ersatta värdet.

:> Detta kommer att högerjustera slutresultatet Mellanrummet 10 läggs till med (:>10), och värdet som ersätts är högerjusterat.

print("The value {:>10} is positive value".format(40))

Produktion:

The value         40 is positive value
:< Detta kommer att vänsterjustera det slutliga resultatet Mellanrummet 10 läggs till med (:<10), och värdet ersätter vänsterjusteras.

print("The value {:<10} is positive value".format(40))

Produktion:

The value 40         is positive value

Använda klass med format()

I det här exemplet skapar vi en klass och använder klassens objekt i .format Python metod. Platshållarna kommer att referera till klassegenskaper eller medlemmar som använder klassobjektet.

Exempelvis:

Klassen anropas inuti formatet(c=MyClass()). Objektet c kommer att ha referensen till egenskaperna och metoderna i klassen MyClass().

class MyClass:
    msg1="Guru"
    msg2="Tutorials"   

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

Produktion:

Welcome to Guru99 Tutorials!

Använda ordbok med format()

Det är också möjligt att använda ordboken inuti format() som visas i exemplet nedan:

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

Produktion:

Welcome to Guru99 Tutorials!

Utfyllnad med variabel ersättning

Med metoden string.format() kan du lägga till utfyllnad, mellanslag genom att använda platshållare inuti din sträng.

Exempelvis:

I exemplet nedan kommer att lägga till utrymme inuti platshållaren med formatet(). För att lägga till blanksteg måste du ange antalet blanksteg inom parenteser efter kolon(:). Så platshållaren kommer att se ut som {:5}.

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

Produktion:

I have     2 dogs and     1 cat

Du kan också ge indexet inuti platshållaren till exempel: {0:5} där 0 hänvisar till det första värdet i formatet.

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

Produktion:

I have     2 dogs and     1 cat

Sammanfattning

  • Python string class ger oss ett viktigt inbyggt kommando som heter format() som hjälper oss att ersätta, ersätta eller konvertera strängen med platshållare med giltiga värden i den sista strängen.
  • Platshållarna inuti strängmodulen Python definieras inom hakparenteser, t.ex. "Välkommen till Guru99 {}".format('värde här').
  • Platshållaren kan vara tom {}, eller den kan ha en variabel för t.ex. {namn} , eller den kan ha ett talindex t.ex. {0} , {1} osv.
  • Du kan använda strängformatering i Python inuti platshållare som kan hjälpa till att lägga till utfyllnad, centrera och även hjälpa till med nummerformatering.

Sammanfatta detta inlägg med: