logo

f-snaren in Python

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 nulcontrole
Python
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>