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