Formátovanie reťazcov vám umožňuje vytvárať dynamické reťazce kombináciou premenných a hodnôt. V tomto článku budeme diskutovať o 5 spôsoboch formátovania reťazca.
Naučíte sa rôzne metódy formátovania reťazcov s príkladmi pre lepšie pochopenie. Pozrime sa na ne teraz!
Ako formátovať reťazce v Pythone
Existuje päť rôznych spôsobov, ako vykonať formátovanie reťazca Python
- Formátovanie pomocou operátora %.
- Formátovanie pomocou metódy reťazca format().
- Formátovanie pomocou reťazcových literálov, nazývaných f-strings.
- Formátovanie pomocou triedy šablóny reťazca
- Formátovanie pomocou metódy reťazca center().
Uvidíme teda všetky vyššie uvedené spôsoby a zameriame sa aj na to, ktorá stratégia formátovania reťazcov je najlepšia.
1. Ako naformátovať reťazec pomocou operátora %
Je to najstarší spôsob formátovania reťazcov. Tu používame modulo % operátor . Modulo % je tiež známy ako operátor formátovania reťazca.
Reťazec formátu Pythonu pomocou operátora %
Vo výraze Vychudnutý, vychudnutý zatúlaný pes %s zhltol % ‚narýchlo‘, je zástupný znak %s v reťazci nahradený hodnotou ‚narýchlo‘.
Python3
vba
print>(>'The mangy, scrawny stray dog %s gobbled down'> %>'hurriedly'> +> >'the grain-free, organic dog food.'>)> |
>
>Výkon
The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food.>
Vloženie viacerých reťazcov pomocou operátora modulo
Tu vkladáme viacero reťazcov s operátorom %.
Python3
x>=> 'looked'> print>(>'Misha %s and %s around'>%>(>'walked'>,x))> |
>
>Výkon
Misha walked and looked around>
Precision Handling v Pythone pomocou operátora %
Čísla s pohyblivou rádovou čiarkou používajú formát %a.bf . Tu, a by bol minimálny počet číslic prítomných v reťazci; tieto môžu byť doplnené medzerou, ak celé číslo nemá toľko číslic.
v blízkosti tohto, bf predstavuje, koľko číslic sa má zobraziť za desatinnou čiarkou.
V tomto kóde reťazec „Hodnota pi je: %5.4f“ obsahuje špecifikátor formátu %5.4f. Špecifikátor formátu %5.4f sa používa na formátovanie čísla s pohyblivou rádovou čiarkou s minimálnou šírkou 5 a presnosťou na 4 desatinné miesta.
Python3
print>(>'The value of pi is: %5.4f'> %>(>3.141592>))> |
>
>Výkon
The value of pi is: 3.1416>
Rôzne typy konverzií formátov
V danom kóde sa formátovací reťazec Python skonvertuje na celé číslo a plávajúcu desatinnú čiarku s %d,%f.
Python3
variable>=> 12> string>=> 'Variable as integer>=> %>d
> Variable as>float> => %>f'>%>(variable, variable)> print> (string)> |
>
>Výkon
Variable as integer = 12 Variable as float = 12.000000>
Poznámka: Ak sa chcete dozvedieť viac o %-formátovaní, pozrite si Formátovanie reťazca v Pythone pomocou %
2. Ako formátovať reťazec pomocou metódy format().
Metóda Format(). bol predstavený s Python3 na efektívnejšie spracovanie zložitého formátovania reťazcov.
Formátovače fungujú tak, že do reťazca vložia jedno alebo viacero náhradných polí a zástupných symbolov definovaných dvojicou zložených zátvoriek { } a zavolajú str.format() . Hodnota, ktorú chceme vložiť do zástupných symbolov a zreťaziť s reťazcom odovzdaným ako parametre do funkcie format.
Syntax: ‘Sem reťazec {} potom tiež {}’.format(‘niečo1′,‘niečo2‘)
Formátovanie reťazca Python pomocou metódy format().
Tento kód používa {} ako zástupný symbol a potom sme zavolali metódu.format() na „rovnakú“ zástupnému symbolu.
Python3
python tlačiť na 2 desatinné miesta
print>(>'We all are {}.'>.>format>(>'equal'>))> |
>
>Výkon
We all are equal.>
Vkladanie na základe indexu
V tomto kóde sa v reťazci „{2} {1} {0}“ používajú zložené zátvorky {} s indexmi na označenie pozícií, kde budú umiestnené zodpovedajúce hodnoty.
Python3
print>(>'{2} {1} {0}'>.>format>(>'directions'>,> >'the'>,>'Read'>))> |
>
>Výkon
Read the directions>
Vložte objekt priradením kľúčových slov
V tomto kóde sa zložené zátvorky {} s pomenovanými zástupnými symbolmi ({a}, {b}, {c}) používajú v reťazci 'a: {a}, b: {b}, c: {c}' na označenie pozície, kde budú umiestnené zodpovedajúce pomenované argumenty.
Python3
print>(>'a: {a}, b: {b}, c: {c}'>.>format>(a>=> 1>,> >b>=> 'Two'>,> >c>=> 12.3>))> |
>
>Výkon
a: 1, b: Two, c: 12.3>
Opätovne použite vložené objekty
V tomto kóde sú zložené zátvorky {} s pomenovanými zástupnými symbolmi ({p}) použité v reťazci 'Prvé {p} bolo v poriadku, ale {p} {p} bolo ťažké na označenie pozícií, kde je príslušný názov.' argument p bude umiestnený.
Python3
print>(> >'The first {p} was alright, but the {p} {p} was tough.'>.>format>(p>=>'second'>))> |
>
>Výkon
The first second was alright, but the second second was tough.>
Float Precision s metódou the.format().
Syntax: {[index]:[šírka][.presnosť][typ]}
Typ možno použiť s kódmi formátu:
- „d“ pre celé čísla
- „f“ pre čísla s pohyblivou rádovou čiarkou
- „b“ pre binárne čísla
- 'O' pre osmičkové čísla
- 'X' pre osmičkové hexadecimálne čísla
- „s“ pre reťazec
- 'To je' pre plávajúcu desatinnú čiarku vo formáte exponentov
Príklad:
pole reťazcov c
Oba kódy robia formátovanie reťazcov. Prvý reťazec je naformátovaný pomocou „%“ a druhý reťazec je naformátovaný pomocou .format().
Python3
print>(>'The valueof pi is: %1.5f'> %>3.141592>)> print>(>'The valueof pi is: {0:1.5f}'>.>format>(>3.141592>))> |
>
>Výkon
The valueof pi is: 3.14159 The valueof pi is: 3.14159>
Poznámka: Ak sa chcete dozvedieť viac o str.format(), pozrite si format() v Pythone
3. Pochopenie f-reťazca Pythonu
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-String v Pythone je zjednodušiť interpoláciu reťazcov.
Ak chcete vytvoriť f-reťazec v Pythone, vložte pred reťazec písmeno f. Samotný reťazec môže byť naformátovaný v podstate rovnakým spôsobom ako vy 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.
Formátovanie reťazcov pomocou F-Strings
V tomto kóde f-reťazec fMoje meno je {meno}. sa používa na interpoláciu hodnoty premennej názvu do reťazca.
Python3
name>=> 'Ele'> print>(f>'My name is {name}.'>)> |
>
>Výkon
My name is Ele.>
Táto nová syntax formátovania je veľmi výkonná a jednoduchá. Môžete tiež vkladať ľubovoľné výrazy Pythonu a dokonca v ňom môžete robiť aritmetické operácie.
Aritmetické operácie pomocou F-reťazcov
V tomto kóde f-reťazec f Povedal, že jeho vek je {2 * (a + b)}. sa používa na interpoláciu výsledku výrazu 2 * (a + b) do reťazca.
Python3
a>=> 5> b>=> 10> print>(f>'He said his age is {2 * (a + b)}.'>)> |
>
>Výkon
He said his age is 30.>
Môžeme použiť aj lambda výrazy v f-string formátovanie.
Lambda výrazy pomocou F-reťazcov
V tomto kóde je anonymná funkcia lambda definovaná pomocou lambda x: x*2. Táto funkcia lambda vezme argument x a vráti jeho double.
Python3
print>(f>'He said his age is {(lambda x: x*2)(3)}'>)> |
>
zip príkaz v linuxe
>Výkon
He said his age is 6>
Presnosť plaváka v metóde f-String
V tomto kóde sa formátovanie f-reťazca používa na interpoláciu hodnoty premennej num do reťazca.
Syntax : {value:{width}.{precision}}> Python3
num>=> 3.14159> print>(f>'The valueof pi is: {num:{1}.{5}}'>)> |
>
>Výkon
The valueof pi is: 3.1416>
Poznámka: Ak sa chcete dozvedieť viac o f-strings, pozrite si f-strings v Pythone
4. Python String Template Class
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ým jazykom Python identifikátory (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ý $:
Formátovanie reťazca Python pomocou triedy šablón
Tento kód importuje triedu Template z modulu string. Trieda Template nám umožňuje vytvoriť reťazec šablóny so zástupnými symbolmi, ktoré možno nahradiť skutočnými hodnotami. Tu dosadíme hodnoty n1 a n2 namiesto n3 a n4 v reťazci n.
Python3
from> string>import> Template> n1>=> 'Hello'> n2>=> 'techcodeview.com'> n>=> Template(>'$n3 ! This is $n4.'>)> # and pass the parameters into the> # template string.> print>(n.substitute(n3>=>n1, n4>=>n2))> |
>
python tlačiť na 2 desatinné miesta
>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
5. Ako formátovať reťazec pomocou metódy center().
Metóda center() je vstavaná metóda v triede str Pythonu, ktorá vracia nový reťazec, ktorý je vycentrovaný v rámci reťazca špecifikovanej šírky.
Formátovanie reťazca pomocou metódy center().
Tento kód vráti nový reťazec vyplnené medzerami na ľavej a pravej strane.
Python3
string>=> 'GeeksForGeeks!'> width>=> 30> centered_string>=> string.center(width)> print>(centered_string)> |
>
>Výkon
GeeksForGeeks!>
Python Format String: % vs. .format vs. f-string literal
f-struny sú rýchlejšie a lepšie ako obe %-formátovanie a str.format() . Výrazy f-strings sa vyhodnocujú za behu a výrazy môžeme vložiť aj do f-string pomocou veľmi jednoduchej a ľahkej syntaxe.
Výrazy vo zložených zátvorkách sa vyhodnotia za behu a potom sa spoja s reťazcovou časťou f-reťazca a potom sa vráti konečný reťazec.
Poznámka: Použite reťazec šablóny, ak je reťazec dodaný používateľom. Inak použite f-Strings, ak používate Python 3.6+ a. format() ak nie ste.
Pokryli sme všetkých 5 spôsobov formátovania reťazcov v Pythone. Pre každú metódu existuje veľa prípadov použitia a príkladov. Tieto metódy sme tiež porovnali, aby sme zistili, ktorá z nich je najefektívnejšia na použitie v reálnych projektoch.
Podobné čítanie:
- Formátovanie reťazcov v Pythone
- Ako používať formátovače reťazcov v Pythone
- Ako naformátovať reťazec pomocou slovníka v Pythone