Python nabízí výkonnou funkci tzv f-struny (formátované řetězcové literály) pro zjednodušení formátování řetězců a interpolace. f-struny je představen v Pythonu 3.6 a poskytuje stručný a intuitivní způsob vkládání výrazů a proměnných přímo do řetězců. Myšlenkou f-řetězců je zjednodušit interpolaci řetězců.
Jak používat f-řetězce v Pythonu
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, jakým byste to udělali str.format() . 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í.
Tisk proměnných pomocí f-string v Pythonu
V níže uvedeném příkladu jsme použili f-string uvnitř metody print() k vytištění řetězce. K použití hodnoty proměnné uvnitř f-řetězců používáme složené závorky, takže definujeme proměnnou „val“ pomocí „Geeks“ a používáme ji uvnitř, jak je vidět v kódu níže ‚val‘ s 'Geekové' . Podobně používáme 'název' a a proměnná uvnitř druhého tiskového příkazu.
Krajta
# 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ýstup
správce úloh linux
techcodeview.com is a portal for Geeks. Hello, My name is Tushar and I'm 23 years old.>
Tisk data pomocí f-string v Pythonu
V tomto příkladu jsme vytiskli dnešní datum pomocí čas schůzky modul v Pythonu s f-string. Nejprve importujeme modul datetime a poté vytiskneme datum pomocí f-sting. Uvnitř F-string 'dnes' přiřazeno aktuální datum a %B , %d , a %A představuje celý měsíc , den v měsíci , a rok respektive.
Krajta # Prints today's date with help # of datetime library import datetime today = datetime.datetime.today() print(f'{today:%B %d, %Y}')> Výstup
číslo 'euler' v jazyce Java'
March 06, 2024>
Poznámka: F-řetězce jsou rychlejší než dva nejběžněji používané mechanismy formátování řetězců, kterými jsou % formátování a str.format().
Uvozovky v f-řetězci v Pythonu
Chcete-li použít jakýkoli typ uvozovek s f-řetězcem v Pythonu, musíme se ujistit, že uvozovky použité uvnitř výrazu nejsou stejné jako uvozovky používané s f-řetězcem.
Krajta print(f''techcodeview.com'') print(f'''Geeks'for'Geeks''') print(f'''Geeks'for'Geeks''')>
Výstup
'techcodeview.com' Geeks'for'Geeks Geeks'for'Geeks>
Vyhodnoťte výrazy s f-Strings v Pythonu
Můžeme také vyhodnocovat výrazy s f-řetězci v Pythonu. Abychom tak učinili, musíme zapsat výraz do složených závorek v f-řetězci a vyhodnocený výsledek bude vytištěn, jak je znázorněno na výstupu kódu níže.
Krajta english = 78 maths = 56 hindi = 85 print(f'Ram got total marks {english + maths + hindi} out of 300')> Výstup
Ram got total marks 219 out of 300>
Chyby při používání f-string v Pythonu
Zpětná lomítka v f-řetězci v Pythonu
V Pythonu f-string nelze zpětné lomítko použít přímo ve formátovacím řetězci.
Krajta f'newline: {ord('
')'> Výstup
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>
Můžeme však vložit zpětné lomítko do proměnné jako řešení:
Krajta newline = ord('
') print(f'newline: {newline}')> Výstup
shreya ghoshal
newline: 10>
Vložené komentáře v f-string v Pythonu
Nemůžeme používat komentáře uvnitř výrazů F-string. Vypíše chybu:
seznam polí javaKrajta
f'techcodeview.com is {5*2 + 3 #geeks-5} characters.'> Výstup:
Hangup (SIGHUP) File 'Solution.py', line 1 f'techcodeview.com is {5*2 + 3 #geeks-5} characters.' ^ SyntaxError: f-string expression part cannot include '#'>Tisk složených závorek pomocí f-string v Pythonu
Pokud chceme ve výstupu f-řetězce zobrazit složené závorky, musíme ve f-řetězci použít dvojité složené závorky. Všimněte si, že pro každý jeden pár závorek musíme zadat dvojité závorky, jak je vidět v níže uvedeném kódu.
Krajta # Printing single braces print(f'{{Hello, Geek}}') # Printing double braces print(f'{{{{Hello, Geek}}}}')> Výstup
{Hello, Geek} {{Hello, Geek}}>Tisk párů klíč–hodnota slovníků pomocí f-string v Pythonu
Při práci se slovníky se musíme ujistit, že pokud používáme dvojité uvozovky () s f-řetězcem, musíme použít jednoduché uvozovky (‘) pro klíče uvnitř f-řetězce v Pythonu a naopak. V opačném případě vyvolá chybu syntaxe.
Krajta Geek = { 'Id': 112, 'Name': 'Harsh'} print(f'Id of {Geek['Name']} is {Geek['Id']}')> Výstup
Hangup (SIGHUP) File 'Solution.py', line 4 print(f'Id of {Geek['Name']} is {Geek['Id']}') ^ SyntaxError: invalid syntax>Použití stejného typu uvozovek pro f-řetězec a klíč
Krajta Geek = { 'Id': 112, 'Name': 'Harsh'} print(f'Id of {Geek['Name']} is {Geek['Id']}')> Výstup
Id of Harsh is 112>