A '%' operátor nagyon hasznos, használatának alapját ez a példa jól szemlélteti:
>>> "Ez a blog a %s" % "Pythonkodjunk!" 'Ez a blog a Pythonkodjunk!' >>> blog_name="Pythonkodjunk!" >>> title="Ez a blog a %s" >>> title % blog_name 'Ez a blog a Pythonkodjunk!'
Lehet számot is a stringbe illeszteni, ekkor nem %s a paraméter jelölése, hanem %d (egész) vagy %f (lebegőpontos)
>>> zokni=48 >>> print "A készleten lévő zoknik száma: %d" % (zokni) A készleten lévő zoknik száma: 48 >>>
>>> zokni=48 >>> print "A készleten lévő zoknik száma: %f" % (zokni) A készleten lévő zoknik száma: 48.000000 >>>
A % operátor nem csak egy paraméterrel tud dolgozni, hanem többel is. Ilyenkor a % utáni paramétereket egy tuple-ként kell átadni.
>>> zokni=48 >>> aru_neve="zokni" >>> print "Jelenleg %d db %s van készleten." % (zokni,aru_neve) Jelenleg 48 db zokni van készleten.
Nevesített paraméterek használata is lehetséges, ilyenkor viszont nem tuple az átadás formája, hanem dict, valamint ekkor az adatok sorrendje tetszőleges lehet.
>>> zokni=48 >>> aru_neve="zokni" >>> print "Jelenleg %(mennyiseg)d db %(megnevezes)s van készleten." % {"megnevezes":aru_neve,"mennyiseg":zokni} Jelenleg 48 db zokni van készleten.
Ez a funkció pontosan ugyanúgy működik mint a C nyelv sprintf függvénye (vagy a PHP-é) ezért nem részletezem túlságosan, rengeteg dolgot találni erről a neten.
A szövegek format metódusa hasonlóképpen dolgozik mint a % operátor annyi különbséggel, hogy a szövegben a behelyettesítések helyét kapcsos zárójel jelzi. Ebben vagy egy szám szerepel, ekkor a számnak megfelelő sorszámú elem kerül behelyettesítésre, ha meg szöveg, akkor a format nevesített argumentumokat vár.
>>> print "Jelenleg {0} db {1} van készleten".format(zokni,aru_neve) Jelenleg 48 db zokni van készleten
>>> print "Jelenleg {mennyiseg} db {megnevezes} van készleten".format(megnevezes=aru_neve,mennyiseg=zokni) Jelenleg 48 db zokni van készleten
Láthatóan a legnagyobb előnye a formatnak az, hogy nem kellett a formázó szövegben jelölni, hogy az adat milyen típusú. A Python 3-ban erősen javasolják a format használatát kizárólag, ugyanis a későbbiekben a %-os operátor elavulttá fog válni, és kikerül a nyelvből.
Nincsenek megjegyzések:
Megjegyzés küldése