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>