Interpolácia reťazcov Python

Interpolácia reťazcov Python

Stringová interpolácia je proces nahradenia hodnôt premenných do zástupných symbolov v reťazci. Uvažujme o príklade, aby sme to lepšie pochopili, predpokladajme, že chcete zmeniť hodnotu reťazca zakaždým, keď reťazec vytlačíte, ako by ste chceli vytlačiť ahoj vitajte pre geekov pre geekov, kde je zástupný symbol pre meno používateľa. Namiesto vytvárania nového reťazca zakaždým použite interpoláciu reťazca Python vám môže pomôcť dynamicky zmeniť zástupný symbol s menom používateľa.

PythonStringInterpolation-(1)

% – Formátovanie

% – Formátovanie je funkcia poskytovaná Pythonom, ku ktorej je možné pristupovať pomocou operátora %. Je to podobné funkcii štýlu printf v jazyku C.

Príklad: Formátovanie reťazca pomocou operátora %

Python3




n1> => 'Hello'> n2> => 'techcodeview.com'> # for single substitution> print> (> 'Welcome to % s'> %> n2)> # for single and multiple substitutions()> # mandatory> print> (> '% s ! This is % s.'> %> (n1, n2))>

Výkon

Welcome to techcodeview.com Hello ! This is techcodeview.com. 

Povedzme, že je to len komplikovaná verzia. Napriek tomu ho môžeme použiť, ak máme v reťazci nahradených veľa premenných, pretože nie vždy chceme použiť (reťazec + premenná + reťazec + premenná + premenná + reťazec) túto reprezentáciu. Takže na tento účel môžeme použiť %-formátovanie.

Poznámka: Ak sa chcete dozvedieť viac o %-formátovaní, pozrite si Formátovanie reťazca v Pythone pomocou %

Str.format()

str.format() funguje vložením jedného alebo viacerých náhradných polí a zástupných symbolov definovaných dvojicou zložených zátvoriek { } do reťazca. Hodnota, ktorú chceme vložiť do zástupných symbolov a zreťaziť s reťazcom odovzdaným ako parametre do funkcie format.

Príklad: Formátovanie reťazcov pomocou metódy format().

Python3




n1> => 'Hello'> n2> => 'techcodeview.com'> # for single substitution> print> (> '{}, {}'> .> format> (n1, n2))>

Výkon

Hello, techcodeview.com 

Názov premennej môžeme použiť aj v zložených zátvorkách {}. To nám umožní používať parametre formátovacích funkcií v ľubovoľnom poradí.

Príklad: Formátovať funkcie s premennými vo zložených zátvorkách.

Python3




n1> => 'Hello'> n2> => 'GeeksForGeeks'> # for single or multiple substitutions> # let's say b1 and b2 are formal parameters> # and n1 and n2 are actual parameters> print> (> '{b1}! This is {b2}.'> .> format> (b1> => n1, b2> => n2))> # we can also change the order of the> # variables in the string without changing> # the parameters of format function> print> (> '{b2}! This is {b1}.'> .> format> (b1> => n1, b2> => n2))>

Výkon

Hello! This is GeeksForGeeks. GeeksForGeeks! This is Hello. 

Poznámka: Ak sa chcete dozvedieť viac o str.format(), pozrite si format() v Pythone

f-struny

PEP 498 zaviedol nový mechanizmus formátovania reťazcov známy ako doslovná interpolácia reťazcov alebo bežnejšie ako F-struny (kvôli úvodnému znaku f pred reťazcovým literálom). Myšlienkou f-stringov je zjednodušiť interpoláciu reťazcov.

Ak chcete vytvoriť f-reťazec, vložte pred reťazec písmeno f . Samotný reťazec môže byť naformátovaný v podstate rovnakým spôsobom, ako keby ste použili str. formát (). F-reťazce poskytujú stručný a pohodlný spôsob, ako vložiť výrazy Pythonu do reťazcových literálov na formátovanie.

Príklad: Formátovanie reťazcov pomocou f-reťazcov

Python3




n1> => 'Hello'> n2> => 'techcodeview.com'> # f tells Python to restore the value of two> # string variable name and program inside braces {}> print> (f> '{n1}! This is {n2}'> )>

Výkon

Hello! This is techcodeview.com (2 * 3)-10 = -4 

Môžeme tiež použiť f-reťazce na výpočet niektorých aritmetických operácií a vykoná inline aritmetiku. Pozrite si príklad nižšie –

Príklad: Inline aritmetika pomocou f-reťazcov

Python3




a> => 2> b> => 3> c> => 10> print> (f> '({a} * {b})-{c} = {(2 * 3)-10}'> )>

Výkon

(2 * 3)-10 = -4 

Poznámka: Ak sa chcete dozvedieť viac o f-strings, pozrite si f-strings v Pythone

Trieda šablóny reťazca

V module String nám Template Class umožňuje vytvoriť zjednodušenú syntax pre špecifikáciu výstupu. Formát používa zástupné názvy tvorené znakom $ s platnými identifikátormi Pythonu (alfanumerické znaky a podčiarkovníky). Obklopenie zástupného symbolu zloženými zátvorkami umožňuje, aby za ním nasledovalo viac alfanumerických písmen bez medzier. Zápis $$ vytvorí jeden kódovaný $:

Príklad: Formátovanie reťazca pomocou triedy šablón

Python3




from> string> import> Template> n1> => 'Hello'> n2> => 'techcodeview.com'> # made a template which we used to> # pass two variable so n3 and n4> # formal and n1 and n2 actual> n> => Template(> '$n3 ! This is $n4.'> )> # and pass the parameters into the template string.> print> (n.substitute(n3> => n1, n4> => n2))>

Výkon

Hello ! This is techcodeview.com. 

Poznámka: Ak sa chcete dozvedieť viac o triede String Template, pozrite si Trieda šablóny reťazca v Pythone