logo

Formátovanie reťazca Python – Ako formátovať reťazec?

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