logo

f-stringi w Pythonie

Python oferuje potężną funkcję zwaną struny f (sformatowane literały ciągów), aby uprościć formatowanie ciągów i interpolację. struny f został wprowadzony w Pythonie 3.6 i zapewnia zwięzły i intuicyjny sposób osadzania wyrażeń i zmiennych bezpośrednio w ciągach znaków. Ideą f-stringów jest uproszczenie interpolacji ciągów.

Jak używać f-stringów w Pythonie

Aby utworzyć ciąg f, poprzedź ciąg literą F . Sam ciąg znaków można sformatować w podobny sposób, jak w przypadku str.format() . Struny F zapewniają zwięzły i wygodny sposób osadzania wyrażeń Pythona w literałach łańcuchowych w celu formatowania.

Drukuj zmienne za pomocą f-stringu w Pythonie

W poniższym przykładzie użyliśmy f-stringu w metodzie print() do wydrukowania ciągu znaków. Używamy nawiasów klamrowych, aby używać wartości zmiennej wewnątrz ciągów f, więc definiujemy zmienną „val” za pomocą słowa „Geeks” i używamy jej wewnątrz, jak widać w kodzie poniżej „wart” z „Maniacy” . Podobnie używamy 'nazwa' I the zmienna wewnątrz drugiej instrukcji print.



Pyton
# 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.')>

Wyjście

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

Wydrukuj datę za pomocą ciągu f w Pythonie

W tym przykładzie wydrukowaliśmy dzisiejszą datę za pomocą datagodzina moduł w Pythonie z ciąg f. W tym celu najpierw importujemy moduł datetime, a następnie drukujemy datę za pomocą f-sting. Wewnątrz struny F 'Dzisiaj' przypisano aktualną datę i %B , %D , I %I reprezentuje pełny miesiąc , dzień miesiąca , I rok odpowiednio.

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

Wyjście

March 06, 2024>

Notatka: Ciągi F są szybsze niż dwa najczęściej używane mechanizmy formatowania ciągów, którymi są formatowanie % i str.format().

Cudzysłowy w ciągu f w Pythonie

Aby użyć dowolnego typu cudzysłowów z ciągiem f w Pythonie, musimy upewnić się, że cudzysłowy użyte wewnątrz wyrażenia nie są takie same, jak cudzysłowy użyte w ciągu f.

Pyton
print(f''techcodeview.com'') print(f'''Geeks'for'Geeks''') print(f'''Geeks'for'Geeks''')>

Wyjście

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

Oceniaj wyrażenia za pomocą f-Stringów w Pythonie

W Pythonie możemy także oceniać wyrażenia z ciągami f. Aby to zrobić, musimy zapisać wyrażenie w nawiasach klamrowych w ciągu f, a obliczony wynik zostanie wydrukowany, jak pokazano na wyjściu poniższego kodu.

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

Wyjście

Ram got total marks 219 out of 300>

Błędy podczas używania f-string w Pythonie

Ukośniki odwrotne w ciągu f w Pythonie

W f-stringu Pythona ukośnik odwrotny nie może być użyty bezpośrednio w ciągu formatującym.

Pyton
f'newline: {ord('
')'>

Wyjście

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>

Jednak w ramach obejścia możemy umieścić ukośnik odwrotny w zmiennej:

Pyton
newline = ord('
') print(f'newline: {newline}')>

Wyjście

newline: 10>

Komentarze wbudowane w ciągu f w Pythonie

Nie możemy używać komentarzy wewnątrz wyrażeń typu F-string. Wyświetli błąd:

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

Wyjście:

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

Drukowanie nawiasów klamrowych przy użyciu ciągu f w Pythonie

Jeśli chcemy pokazać na wyjściu f-stringu nawiasy klamrowe, musimy użyć podwójnych nawiasów klamrowych w f-stringu. Zauważ, że dla każdej pary nawiasów klamrowych musimy wpisać nawiasy podwójne, jak pokazano w poniższym kodzie.

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

Wyjście

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

Drukowanie pary klucz-wartość słowników przy użyciu ciągu f w Pythonie

Pracując ze słownikami, musimy upewnić się, że jeśli używamy podwójnych cudzysłowów () z ciągiem f, to musimy użyć pojedynczego cudzysłowu (‘) dla kluczy wewnątrz ciągu f w Pythonie i odwrotnie. W przeciwnym razie zgłosi błąd składniowy.

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

Wyjście

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

Używanie tego samego typu cudzysłowów dla ciągu f i klucza

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

Wyjście

ciąg znaków w Javie
Id of Harsh is 112>