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.
% – 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