f-strings v Pythone

Python ponúka výkonnú funkciu tzv f-struny (formátované reťazcové literály) na zjednodušenie formátovania reťazcov a interpolácie. f-struny je predstavený v Pythone 3.6 a poskytuje stručný a intuitívny spôsob vkladania výrazov a premenných priamo do reťazcov. Myšlienkou f-stringov je zjednodušiť interpoláciu reťazcov.

Ako používať f-reťazce v Pythone

Ak chcete vytvoriť f-string, 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.format() . 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.

Tlač premenných pomocou f-string v Pythone

V nižšie uvedenom príklade sme použili f-string v metóde print() na vytlačenie reťazca. Používame zložené zátvorky na použitie premennej hodnoty vo vnútri f-reťazcov, takže definujeme premennú „val“ pomocou „Geeks“ a používame ju vo vnútri, ako je vidieť v kóde nižšie „val“ s 'Geeks' . Podobne používame 'názov' a a premenná vo vnútri druhého tlačového príkazu.

Python
# Python3 program introducing f-string val = 'Geeks' print(f'{val}for{val} is a portal for {val}.') name = 'Tushar' age = 23 print(f'Hello, My name is {name} and I'm {age} years old.') 

Výkon

techcodeview.com is a portal for Geeks. Hello, My name is Tushar and I'm 23 years old. 

Vytlačte dátum pomocou f-string v Pythone

V tomto príklade sme vytlačili dnešný dátum pomocou Dátum Čas modul v Pythone s f-string. Najprv importujeme modul datetime a potom vytlačíme dátum pomocou f-sting. Vo vnútri f-string 'dnes' priradený aktuálny dátum a %B , %d , a %A predstavuje celý mesiac , deň v mesiaci , a rok resp.

Python
# Prints today's date with help # of datetime library import datetime today = datetime.datetime.today() print(f'{today:%B %d, %Y}') 

Výkon

March 06, 2024 

Poznámka: F-reťazce sú rýchlejšie ako dva najbežnejšie používané mechanizmy formátovania reťazcov, ktorými sú % formátovanie a str.format().

Úvodzovky v f-reťazci v Pythone

Ak chcete použiť akýkoľvek typ úvodzoviek s f-reťazcom v Pythone, musíme sa uistiť, že úvodzovky použité vo výraze nie sú rovnaké ako úvodzovky používané s f-reťazcom.

Python
print(f''techcodeview.com'') print(f'''Geeks'for'Geeks''') print(f'''Geeks'for'Geeks''') 

Výkon

'techcodeview.com' Geeks'for'Geeks Geeks'for'Geeks 

Vyhodnoťte výrazy pomocou f-Strings v Pythone

V Pythone môžeme hodnotiť aj výrazy s f-reťazcami. Aby sme to urobili, musíme napísať výraz do zložených zátvoriek v f-reťazci a vyhodnotený výsledok sa vytlačí, ako je znázornené na výstupe kódu nižšie.

Python
english = 78 maths = 56 hindi = 85 print(f'Ram got total marks {english + maths + hindi} out of 300') 

Výkon

Ram got total marks 219 out of 300 

Chyby pri používaní f-string v Pythone

Spätné lomky v f-reťazci v Pythone

V Pythone f-string sa spätná lomka nemôže použiť priamo vo formátovacom reťazci.

Python
f'newline: {ord('
')' 

Výkon

Traceback (most recent call last):  Python Shell, prompt 29, line 1 Syntax Error: f-string expression part cannot include a backslash: , line 1, pos 0 

Ako riešenie však môžeme vložiť spätnú lomku do premennej:

Python
newline = ord('
') print(f'newline: {newline}') 

Výkon

newline: 10 

Vložené komentáre v f-string v Pythone

Vo výrazoch F-reťazca nemôžeme používať komentáre. Vypíše chybu:

Python
f'techcodeview.com is {5*2 + 3 #geeks-5} characters.' 

Výkon:

Hangup (SIGHUP)  File 'Solution.py', line 1  f'techcodeview.com is {5*2 + 3 #geeks-5} characters.'  ^ SyntaxError: f-string expression part cannot include '#' 

Tlač zátvoriek pomocou f-string v Pythone

Ak chceme vo výstupe f-stringu zobraziť zložené zátvorky, musíme použiť dvojité zložené zátvorky vo výstupe f-stringu. Všimnite si, že pre každý jeden pár zátvoriek musíme zadať dvojité zátvorky, ako je uvedené v kóde nižšie.

Python
# Printing single braces print(f'{{Hello, Geek}}') # Printing double braces print(f'{{{{Hello, Geek}}}}') 

Výkon

{Hello, Geek} {{Hello, Geek}} 

Tlač párov kľúč – hodnota slovníkov pomocou f-string v Pythone

Pri práci so slovníkmi sa musíme uistiť, že ak používame dvojité úvodzovky () s f-reťazcom, potom musíme použiť jednoduché úvodzovky (‘) pre kľúče vnútri f-reťazca v Pythone a naopak. V opačnom prípade to vyvolá chybu syntaxe.

Python
Geek = { 'Id': 112, 'Name': 'Harsh'} print(f'Id of {Geek['Name']} is {Geek['Id']}') 

Výkon

Hangup (SIGHUP)  File 'Solution.py', line 4  print(f'Id of {Geek['Name']} is {Geek['Id']}')  ^ SyntaxError: invalid syntax 

Použitie rovnakého typu úvodzoviek pre f-reťazec a kľúč

Python
Geek = { 'Id': 112, 'Name': 'Harsh'} print(f'Id of {Geek['Name']} is {Geek['Id']}') 

Výkon

Id of Harsh is 112