Ebben a cikkben megismerhetjük a python karakterlánc interpolációját. A Python többféle módon támogatja a szöveges karakterláncok formázását, ezek közé tartozik a% -formatting, a sys.format (), a string.Template és az f-string.
A karakterlánc-interpoláció olyan folyamat, amely a változók értékeit helyettesítőként helyettesíti egy karakterláncban. Például, ha van egy sablon, amellyel köszönni kell egy olyan személynek, mint a "Helló (személy neve), örülök, hogy találkozunk!", Akkor a személy nevének helyőrzőjét egy tényleges névre szeretné cserélni. Ezt a folyamatot string interpolációnak nevezzük.
f-húrok
A Python 3.6 új karakterlánc-interpolációs módszert adott literális karakterlánc-interpolációnak, és új szó szerinti előtagot vezetett be f
. A húrok formázásának ez az új módja hatékony és könnyen használható. Hozzáférést biztosít a beágyazott Python kifejezésekhez a karaktersorozatokon belül.
1. példa:
name = 'World' program = 'Python' print(f'Hello (name)! This is (program)')
A fenti program futtatásakor a kimenet az lesz
Helló Világ! Ez a Python
A fenti példában a szó szerinti előtag f
megmondja a Pythonnak, hogy állítsa vissza a két karakterlánc-változó nevét és a programot a zárójelben ()
. Tehát, amikor print
megkapjuk a fenti kimenetet.
Ez az új karakterlánc-interpoláció hatékony, mivel beágyazhatunk tetszőleges Python-kifejezéseket, sőt akár soros számtant is végezhetünk vele.
2. példa:
a = 12 b = 3 print(f'12 multiply 3 is (a * b).')
A fenti program futtatásakor a kimenet az lesz
12 a 3 szorzása 36.
A fenti programban soros számtant végeztünk, amely csak ezzel a módszerrel lehetséges.
% -formázás
A Python karakterláncai egyedülálló beépített művelettel rendelkeznek, amelyet az %
operátorral lehet elérni . Használatával %
egyszerű húrinterpolációt végezhetünk nagyon egyszerűen.
3. példa:
print("%s %s" %('Hello','World',))
A fenti program futtatásakor a kimenet az lesz
Helló Világ
A fenti példában használt két %s
húr formátumleíró és két húrok Hello
és World
zárójelben ()
. Kimenetként kaptuk Hello World
. %s
karakterlánc-formátum-meghatározó mondja meg a Pythonnak, hogy hol helyettesítse az értéket
A karakterlánc-formázás szintaxisa kissé megváltozik, ha több sztringet akarunk végrehajtani egyetlen karaktersorozatban, és mivel az %
operátor csak egy argumentumot vesz fel, a jobb oldalt egy duplába kell csomagolnunk, amint az az alábbi példában látható.
4. példa:
name = 'world' program ='python' print('Hello %s! This is %s.'%(name,program))
A fenti program futtatásakor a kimenet az lesz
Helló Világ! Ez a python.
A fenti példában két karakterlánc változó nevet és programot használtunk. Mindkét változót zárójelbe csomagoltuk ()
.
A formátum-karakterláncunkban név szerint is lehet hivatkozni a változó helyettesítésekre, ha átadunk egy leképezést az %
operátornak:
5. példa:
name = 'world' program ='python' print(‘Hello %(name)s! This is %(program)s.’%(name,program))
A fenti program futtatásakor a kimenet az lesz
Helló Világ! Ez a python.
Ez megkönnyíti a formátum húrjaink karbantartását, és a jövőben könnyebben módosítható. Nem kell aggódnunk az értékek sorrendje miatt, amelyeket átadunk a formátum karakterláncban hivatkozott értékek sorrendjével.
Str.formátum ()
Ebben a karakterlánc-formátumban format()
függvényt használunk egy string objektumra és zárójelre ()
, a format()
függvényben lévő string objektumot a zárójelek helyett helyettesítjük ()
. Használhatjuk a format()
függvényt egyszerű helyzetmeghatározásra, csakúgy, mint a %
formázásra.
6. példa:
name = 'world' print('Hello, ()'.format(name))
A fenti program futtatásakor a kimenet az lesz
Helló Világ
Ebben a példában kapcsos zárójeleket ()
és format()
függvényt használtunk a névobjektum átadásához. A név értékét a zárójelek helyett a ()
kimenetben kaptuk .
Nevezhetjük a változó helyettesítéseinket név szerint, és tetszés szerinti sorrendben használhatjuk őket. Ez elég hatékony funkció, mivel lehetővé teszi a megjelenítés sorrendjének újrarendezését anélkül, hogy megváltoztatná a formátumfüggvényre átadott argumentumokat.
7. példa:
name = 'world' program ='python' print('Hello (name)!This is(program).'.format(name=name,program=program))
A fenti program futtatásakor a kimenet az lesz
Helló világ! Ez a python.
In this example we specified the variable substitutions place using the name of variable and pass the variable in format()
.
Template Strings
Template Strings is simpler and less powerful mechanism of string interpolation. We need to import Template
class from Python’s built-in string
module to use it.
Example 8:
from string import Template name = 'world' program ='python' new = Template('Hello $name! This is $program.') print(new.substitute(name= name,program=program))
When we run the above program, the output will be
Hello world! This is python.
In this example we import Template
class from built-in string
module and made a template which we used to pass two variable.
Key Points to Remember:
- %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
- In str.format() method we pass the string object to the format() function for string interpolation.
- A sablon módszerben egy sablont készítünk a sablon osztály importálásával a beépített string modulból.
- A Literal String Interpolation módszer hatékony interpolációs módszer, amely könnyen használható és növeli a kód olvashatóságát.