Python biedt een krachtige functie genaamd f-snaren (geformatteerde tekenreeksliterals) om tekenreeksopmaak en interpolatie te vereenvoudigen. f-snaren is geïntroduceerd in Python 3.6 en biedt een beknopte en intuïtieve manier om expressies en variabelen rechtstreeks in tekenreeksen in te sluiten. Het idee achter f-strings is om stringinterpolatie eenvoudiger te maken.
Hoe f-strings te gebruiken in Python
Om een f-string te maken, plaatst u de letter vooraf aan de string F . De string zelf kan op vrijwel dezelfde manier worden opgemaakt als u dat zou doen str.format() . F-strings bieden een beknopte en handige manier om Python-expressies in te sluiten in letterlijke tekenreeksen voor opmaak.
Variabelen afdrukken met f-string in Python
In het onderstaande voorbeeld hebben we de f-string in een print()-methode gebruikt om een string af te drukken. We gebruiken accolades om een variabele waarde binnen f-strings te gebruiken, dus definiëren we een variabele ‘val’ met ‘Geeks’ en gebruiken deze daarbinnen, zoals te zien is in de onderstaande code ‘val’ met ‘Geeks’ . Op dezelfde manier gebruiken we de 'naam' En de variabele binnen een tweede printinstructie.
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.')> Uitvoer
edith mack hirsch
techcodeview.com is a portal for Geeks. Hello, My name is Tushar and I'm 23 years old.>
Datum afdrukken met f-string in Python
In dit voorbeeld hebben we de datum van vandaag afgedrukt met behulp van de datum Tijd module in Python met f-snaar. Daarvoor importeren we eerst de datetime-module, waarna we de datum afdrukken met behulp van f-sting. Binnen f-snaar 'Vandaag' de huidige datum toegewezen en %B , %D , En %EN vertegenwoordigt de volledige maand , dag van de maand , En jaar respectievelijk.
Python # Prints today's date with help # of datetime library import datetime today = datetime.datetime.today() print(f'{today:%B %d, %Y}')> Uitvoer
Hoe kom ik erachter wat mijn monitorgrootte is?
March 06, 2024>
Opmerking: F-strings zijn sneller dan de twee meest gebruikte mechanismen voor het formatteren van tekenreeksen, namelijk % formatting en str.format().
Aanhalingstekens in f-string in Python
Om elk type aanhalingstekens met de f-string in Python te gebruiken, moeten we ervoor zorgen dat de aanhalingstekens die in de uitdrukking worden gebruikt niet dezelfde zijn als de aanhalingstekens die met de f-string worden gebruikt.
Python print(f''techcodeview.com'') print(f'''Geeks'for'Geeks''') print(f'''Geeks'for'Geeks''')>
Uitvoer
'techcodeview.com' Geeks'for'Geeks Geeks'for'Geeks>
Evalueer expressies met f-Strings in Python
We kunnen ook expressies evalueren met f-strings in Python. Om dit te doen moeten we de expressie binnen de accolades in de f-string schrijven en het geëvalueerde resultaat zal worden afgedrukt zoals weergegeven in de uitvoer van de onderstaande code.
Python english = 78 maths = 56 hindi = 85 print(f'Ram got total marks {english + maths + hindi} out of 300')> Uitvoer
Ram got total marks 219 out of 300>
Fouten tijdens het gebruik van f-string in Python
Backslashes in f-string in Python
In Python f-string kan Backslash niet rechtstreeks in de formatstring worden gebruikt.
Python f'newline: {ord('
')'> Uitvoer
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>
We kunnen de backslash echter als tijdelijke oplossing in een variabele plaatsen:
Python newline = ord('
') print(f'newline: {newline}')> Uitvoer
if-instructie java
newline: 10>
Inline commentaar in f-string in Python
We kunnen geen commentaar gebruiken in F-string-expressies. Het zal een foutmelding geven:
java nulcontrolePython
f'techcodeview.com is {5*2 + 3 #geeks-5} characters.'> Uitgang:
Hangup (SIGHUP) File 'Solution.py', line 1 f'techcodeview.com is {5*2 + 3 #geeks-5} characters.' ^ SyntaxError: f-string expression part cannot include '#'>Accolades afdrukken met f-string in Python
Als we accolades willen weergeven in de uitvoer van de f-snaar, moeten we dubbele accolades gebruiken in de f-snaar. Merk op dat we voor elk paar accolades dubbele accolades moeten typen, zoals te zien is in de onderstaande code.
Python # Printing single braces print(f'{{Hello, Geek}}') # Printing double braces print(f'{{{{Hello, Geek}}}}')> Uitvoer
{Hello, Geek} {{Hello, Geek}}>Sleutelwaarde van woordenboeken afdrukken met behulp van f-string in Python
Als we met woordenboeken werken, moeten we ervoor zorgen dat als we dubbele aanhalingstekens () gebruiken met de f-string, we enkele aanhalingstekens (‘) moeten gebruiken voor sleutels binnen de f-string in Python en omgekeerd. Anders zal er een syntaxisfout optreden.
Python Geek = { 'Id': 112, 'Name': 'Harsh'} print(f'Id of {Geek['Name']} is {Geek['Id']}')> Uitvoer
Hangup (SIGHUP) File 'Solution.py', line 4 print(f'Id of {Geek['Name']} is {Geek['Id']}') ^ SyntaxError: invalid syntax>Gebruik hetzelfde type aanhalingstekens voor f-string en sleutel
Python Geek = { 'Id': 112, 'Name': 'Harsh'} print(f'Id of {Geek['Name']} is {Geek['Id']}')> Uitvoer
Id of Harsh is 112>