Řetězcová interpolace je proces nahrazování hodnot proměnných do zástupných symbolů v řetězci. Podívejme se na příklad, abychom tomu lépe porozuměli, předpokládejme, že chcete změnit hodnotu řetězce při každém tisku řetězce, jako byste chtěli vytisknout ahoj vítejte pro geeky pro geeky, kde je zástupný symbol pro jméno uživatele. Místo toho, abyste pokaždé vytvořili nový řetězec, použijte interpolaci řetězce Krajta vám může pomoci dynamicky změnit zástupný symbol se jménem uživatele.

% – Formátování
% – Formátování je funkce poskytovaná Pythonem, ke které lze přistupovat pomocí operátoru %. Je to podobné funkci stylu printf v C.
Příklad: Formátování řetězce pomocí operátoru %
Python3
příklad java do while
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ýstup
Welcome to techcodeview.com Hello ! This is techcodeview.com.>
Řekněme, že je to jen složitá verze. Přesto jej můžeme použít, pokud máme v řetězci mnoho proměnných, které se mají nahradit, protože ne vždy chceme tuto reprezentaci použít (řetězec + proměnná + řetězec + proměnná + proměnná + řetězec). Takže pro tento účel můžeme použít %-formátování.
Poznámka: Chcete-li se dozvědět více o %-formátování, viz Formátování řetězce v Pythonu pomocí %
Str.format()
str.format() funguje tak, že vloží jedno nebo více náhradních polí a zástupných symbolů definovaných dvojicí složených závorek { } do řetězce. Hodnota, kterou chceme vložit do zástupných symbolů a zřetězit s řetězcem předaným jako parametry do funkce format.
Příklad: Formátování řetězců pomocí metody format().
Python3
n1>=> 'Hello'> n2>=> 'techcodeview.com'> # for single substitution> print>(>'{}, {}'>.>format>(n1, n2))> |
>
xvideoservicethief ubuntu 14.04 ke stažení
>Výstup
Hello, techcodeview.com>
Můžeme také použít název proměnné uvnitř složených závorek {}. To nám umožní používat parametry formátovacích funkcí v libovolném pořadí.
Příklad: Formátování funkcí s proměnnými uvnitř složených závorek.
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ýstup
Hello! This is GeeksForGeeks. GeeksForGeeks! This is Hello.>
Poznámka: Chcete-li se dozvědět více o str.format(), viz funkce format() v Pythonu
f-struny
PEP 498 zavedl nový mechanismus formátování řetězců známý jako doslovná řetězcová interpolace nebo běžněji jako F-struny (kvůli úvodnímu znaku f před řetězcovým literálem). Myšlenkou f-řetězců je zjednodušit interpolaci řetězců.
Chcete-li vytvořit f-řetězec, přidejte před řetězec písmeno f . Samotný řetězec lze naformátovat v podstatě stejným způsobem, jako byste použili příkaz str. formát(). F-řetězce poskytují stručný a pohodlný způsob, jak vložit výrazy Pythonu do řetězcových literálů pro formátování.
Příklad: Formátování řetězců pomocí f-řetězců
Python3
co je android s easter egg
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ýstup
Hello! This is techcodeview.com (2 * 3)-10 = -4>
Můžeme také použít f-řetězce k výpočtu některých aritmetických operací a provede inline aritmetiku. Viz níže uvedený příklad –
Příklad: Inline aritmetika pomocí f-řetězců
Python3
a>=> 2> b>=> 3> c>=> 10> print>(f>'({a} * {b})-{c} = {(2 * 3)-10}'>)> |
>
>Výstup
(2 * 3)-10 = -4>
Poznámka: Chcete-li se dozvědět více o f-strunách, viz f-strings v Pythonu
Třída šablony řetězce
V modulu String nám Template Class umožňuje vytvořit zjednodušenou syntaxi pro specifikaci výstupu. Formát používá zástupná jména tvořená $ s platnými identifikátory Pythonu (alfanumerické znaky a podtržítka). Obklopení zástupného symbolu složenými závorkami umožňuje, aby za ním následovalo více alfanumerických písmen bez mezer. Zápis $$ vytvoří jeden kódovaný $:
Příklad: Formátování řetězce pomocí Template Class
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))> |
dynamické pole java
>
>Výstup
Hello ! This is techcodeview.com.>
Poznámka: Chcete-li se dozvědět více o třídě String Template, viz Třída šablony řetězce v Pythonu