Python karakterlánc interpoláció

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 fmegmondja 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 printmegkapjuk 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 %shúr formátumleíró és két húrok Helloés Worldzárójelben (). Kimenetként kaptuk Hello World. %skarakterlá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:

  1. %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
  2. In str.format() method we pass the string object to the format() function for string interpolation.
  3. 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.
  4. 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.

érdekes cikkek...