Python String format() Magyarázza meg a PÉLDÁK segítségével

Mi a Python String formátum()?

Python Karakterlánc formátum() egy függvény, amellyel helyettesítheti, helyettesítheti vagy konvertálja a karakterláncot olyan helyőrzőkkel, amelyek az utolsó karakterláncban érvényes értékekkel rendelkeznek. Ez egy beépített funkciója a Python string osztály, amely a formázott karakterláncot adja vissza kimenetként. A karakterláncon belüli helyőrzők zárójelben vannak megadva.

Például: "Üdvözöljük a Guru99-ben {}".format('value here').

A format() függvény szintaxisa in Python

templatestring.format(val1, val2...)

paraméterek

érték1, érték2 … : Azok az értékek, amelyeket le kell cserélni az adott sablonkarakterláncban, amely helyőrzőket tartalmaz szögletes zárójelek formájában {}. A helyőrzők lehetnek karakterlánc, kulcs/érték pár, egész számok, lebegőpontos számok, karakterek stb.

Visszatérési érték

Az utolsó karakterláncot adja vissza, az érvényes értékeket a zárójelben megadott helyőrzők helyére cserélve.

Helyőrzők

A sablonkarakterláncban lévő helyőrzők zárójelekkel vannak ábrázolva, pl. {}. A helyőrző lehet üres {}, vagy lehet benne változó pl. {name} , vagy lehet számindex is, pl. {0} , {1} stb.

Hogyan működik a string format()?

A Python Karakterlánc formátum() módszer helyőrzőket keres az eredeti karakterláncokban. A helyőrzők lehetnek üres zárójelek ({}), pozíció argumentumok, azaz a karakterlánc tartalmazhat 0, 1 indexű helyőrzőket pl. {0}, {1} stb.

Kulcsszó-argumentumok esetén a változó neve a szögletes zárójelben található, például: {name}, {age}. Üres göndör zárójelek esetén a formátum értékei sorrendben cserélődnek a szögletes zárójelekbe.

Az első érték helyére az első üres göndör zárójel, majd a következő következik. Pozíciós argumentumok esetén az index 0-tól kezdődik és így tovább. Az értékek vesszővel és 0-val elválasztva lesznek elérhetőkth érték a formátumon belüli első értékre mutat, és így tovább.

Kulcsszó argumentumokhoz, azaz amikor változót használ a helyőrzőkön belül, szükség szerint megadhatja az értékek sorrendjét a formátumon belül.

A sorrend itt nem számít, mivel az értékeket a format()-ban lévő változónév alapján cseréljük le. Íme néhány példa arra, hogyan használhatunk helyőrzőket egy karakterláncon belül üresként, pozícióként, valamint kulcsszavakat vagy változókat használva.

Példa: Az üres helyőrző karakterlánc értékre cserélve

Az alábbi példában a karakterlánc üres zárójeleket ({}) tartalmaz. A formátumnak adott érték a zárójelben ({}) lecserélődik.

A lecserélni kívánt érték egy karakterlánc.

Példa:

A karakterlánc formázás használata in Python, azt szeretnénk, hogy a göndör zárójeleket ({}) egy karakterlánc értékre cseréljük. Az értéket a format (“Guru99”) kapja. Végrehajtáskor a göndör zárójelek {} helyére Guru99 kerül, és az utolsó karakterláncot Üdvözöljük a Guru99 oktatóprogramjában kapod meg.

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

output:

Welcome to Guru99 tutorials

Példa: Az üres helyőrző numerikus értékkel helyettesítve

Az alábbi példában azt szeretnénk, hogy a numerikus érték az eredeti karakterláncon belül legyen lecserélve. A göndör zárójeleket ({}) a rendszer hozzáadja ahhoz a helyhez, ahol a számértékre van szüksége. Amikor végrehajtja, az üres zárójeleket ({}) a numerikus érték helyettesíti.

Példa:

A format() segítségével számokat is beszúrhat a karakterláncba. A példa bemutatja, hogyan lehet az üres {} helyőrzőt 99-es számmal helyettesíteni a format()-ban.

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

output:

Welcome to Guru99 Tutorials

Példa: Változó- vagy kulcsszóargumentumok használata a helyőrzőn belül

Lehetőség van a göndör zárójelben lévő változók használatára is, amint az az alábbi példában látható. A változók a format()-on belül vannak definiálva. Ezért, amikor végrehajtja, a változóhoz rendelt érték lecserélődik az eredeti karakterláncon belül.

Példa:

Használhat változókat szögletes zárójelben, például {name} {num}. A név és a szám változó értékei a formátumon belül érhetők el, pl. format(name=”Guru”, num=”99″). A name és a num értékeket a(z) {name} és {num} belül lecseréljük.

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

output:

Welcome to Guru99 Tutorials

Példa: Index vagy pozíció argumentumok használata a helyőrzőn belül

Az értékek a helyőrzőkön belüli indexekkel helyettesíthetők, például 0, 1, 2. Az értéket a rendszer a format() formátumból választja ki, az alábbi példában látható módon.

Példa:

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

output:

Welcome to Guru99 Tutorials

Példa: Több helyőrző használata egy karakterláncon belül

Ebben a példában több üres helyőrzőt fogunk használni.

Példa:

A példában használt karakterláncnak több üres helyőrzője van, és mindegyik helyőrző a format()-on belüli értékre fog hivatkozni. Az első érték lecserélődik az első helyőrzőre és így tovább.

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

output:

Guru99 is totally new kind of learning experience!

Formázás a helyőrzőkön belül

Láttad, hogy lehetséges a Helyőrző üres, változóval vagy indexszel. Az is lehetséges, hogy lehet jelentkezni Python Karakterlánc formázása a helyőrzőn belül.

Itt van a formátumok listája

kialakított Leírás Példa
:d A kimenetet decimális formátumban adja meg, ha a helyőrzőn belül használják print("The binary to decimal value is : {:d}".format(0b0011))

output:

The binary to decimal value is  : 3
:b A kimenetet bináris formátumban adja meg, ha a helyőrzőn belül használjuk print("The binary value is : {:b}".format(500))

output:

The binary value is : 111110100
:e A kimenetet tudományos formátumban adja meg, ha a helyőrzőn belül használjuk, az e kitevő a kimenetben kisbetűs lesz. print("The scientific value is : {:e}".format(40))

output:

The scientific format value is : 4.000000e+01
:E A kimenetet tudományos formátumban adja meg, ha a helyőrzőn belül használja, az E kitevő a kimenetben nagybetűs lesz print("The scientific value is : {:E}".format(40))

output:

The scientific value is : 4.000000E+01
:f Ez fixpontos számformátumot fog kiadni. Alapértelmezés szerint bármilyen szám kimenete hat tizedesjegygel történik. Ha legfeljebb 2 tizedesjegyre van szüksége, használja ezt. 2f azaz. egy pont (.) a 2f előtt print("The value is : {:f}".format(40))

output:

The value is  : 40.000000

Példa: A kimenet megjelenítése 2 tizedesjegyig.

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

output:

The value is: 40.00
:o Ez oktális formátumot ad ki print("The value is : {:o}".format(500))

output:

The value is  : 764
:x Ez hexadecimális formátumot ad ki kisbetűkkel print("The value is : {:x}".format(500))

output:

The value is  : 1f4
:X Ez hexadecimális formátumot ír ki nagybetűkkel. print("The value is : {:X}".format(500))

output:

The value is  : 1F4
:n Ez számformátumot fog kiadni. print("The value is : {:n}".format(500.00))

output:

The value is  : 500
:% Ez százalékos formátumban adja meg a kimenetet.
Alapértelmezésben 6 tizedesjegyet ad a százalékos kimenethez, ha nem akarunk tizedesjegyet, akkor 0-val, azaz (:.0%) pontot használhatunk.
print("The value is : {:%}".format(0.80))

output:

The value is  : 80.000000%

Ez a példa bemutatja, hogyan lehet kihagyni a tizedesjegyeket a {:.0%} használatával a helyőrzőn belül.

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

The value is: 80%
:_ Ez aláhúzásjelet ad ezerrel elválasztóként. Python 3.6+ verziótól érhető el. print("The value is {:_}".format(1000000))

output:

The value is  : 1_000_000
:, Ez ezres elválasztóként vesszőt ad ki print("The value is : {:,}".format(1000000))

output:

The value is  : 1,000,000

A vessző(,) hozzáadásra kerül ezerelválasztóként, ahogy a kimenetben látható.

: Ez szóközt ad a pozitív számok elé Ez a példa bemutatja, hogyan lehet szóközt vagy kitöltést adni a megadott szám elé. Az 5-ös szám a szám előtti szóköz számát jelzi.

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

output:

The value is:    40
:- Ez mínuszjelet ad a negatív számok elé A példa bemutatja, hogyan lehet a kimenetet egy mínusz (-) jellel elérni a szám előtt a {:-} használatával.

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

output:

The value is: -40
:+ A pluszjellel jelezheti, hogy a szám pozitív A példa bemutatja, hogyan kaphatja meg a kimenetet plusz (+) jellel a szám előtt a {:+} használatával.

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

output:

The value is: +40
:= Az egyenlő a +/- jel bal oldali elhelyezésére szolgál. A példa bemutatja, hogyan kaphatja meg a kimenetet plusz (+/-) jellel az egyenlőségjel előtt a {:=} használatával.

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

output:

The value is -40
:^ Ez középre igazítja a végeredményt A példa azt mutatja, hogy a {:^} használatával igazíthatja középre a szöveget. A 10-es szám 10 szóköz hozzáadására szolgál, hogy megjelenítse a középre igazított értéket az érték lecserélésekor.

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

output:

The value     40     is a positive value

Itt használhatja a 10-et, amely 10 szóközt ad hozzá a végső szöveghez, és a lecserélendő érték középre igazodik a 10 szóköz közé. A 10-es szóközök csak azért vannak hozzáadva, hogy megmutassák a lecserélt érték középre igazítását.

:> Ez jobbra igazítja a végeredményt A 10-es szóköz a (:>10) használatával kerül hozzáadásra, és a lecserélt érték jobbra igazodik.

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

output:

The value         40 is positive value
:< Ez balra igazítja a végeredményt A 10-es szóköz a (:<10) használatával kerül hozzáadásra, és a helyettesítési érték balra igazítva.

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

output:

The value 40         is positive value

Osztály használata format()

Ebben a példában létrehozunk egy osztályt, és az osztály objektumát a .formátumon belül használjuk Python módszer. A helyőrzők osztálytulajdonságokra vagy az osztály objektumot használó tagokra hivatkoznak.

Példa:

Az osztály a format(c=MyClass()) formátumban kerül meghívásra. A c objektum a MyClass() osztályon belüli tulajdonságokra és metódusokra hivatkozik.

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

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

output:

Welcome to Guru99 Tutorials!

Szótár használata format()

Lehetőség van a format()-on belüli szótár használatára is, amint az az alábbi példában látható:

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

output:

Welcome to Guru99 Tutorials!

Kitöltés változó helyettesítések

A string.format() metódussal a karakterláncon belüli helyőrzők használatával kiegészítést és szóközt adhat hozzá.

Példa:

Az alábbi példában helyet ad a helyőrzőn belül a format() használatával. Szóköz hozzáadásához meg kell adnia a szóközök számát a kettőspont (:) utáni zárójelben. Tehát a helyőrző így fog kinézni: {:5}.

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

output:

I have     2 dogs and     1 cat

A helyőrzőn belül is megadhatja az indexet, például: {0:5}, ahol a 0 a formátumon belüli első értékre utal.

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

output:

I have     2 dogs and     1 cat

Összegzésként

  • Python A string osztály a format() nevű fontos beépített parancsot ad nekünk, amely segít lecserélni, helyettesíteni vagy átalakítani a karakterláncot olyan helyőrzőkkel, amelyek az utolsó karakterláncban érvényesek.
  • A karakterlánc-modulon belüli helyőrzők Python zárójelben vannak megadva, pl. „Üdvözöljük a Guru99-ben {}”.format('value here').
  • A helyőrző lehet üres {}, vagy tartalmazhat változót pl. {name} számára, vagy lehet számindex is, pl. {0}, {1} stb.
  • Használhatja a String formázást Python belső helyőrzők, amelyek segíthetnek kitölteni, középre igazítani, és segíthetnek a számformázásban is.