logo

f-strings v Pythonu

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í java
Krajta
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>