Hvordan bruke nye F -strenger i Python

Hvordan bruke nye F -strenger i Python

Denne artikkelen vil dekke en guide om bruk av den nye "F" -typen som formateres syntaks lagt til nyere versjoner av Python. Bare kalt som "F-strenger" eller "formaterte strenglitteraler", lar disse uttrykkene deg bruke pythonvariabler, funksjoner og utsagn direkte i teksten til en streng. De hjelper også med å holde koden ren, da du kan bruke inline -uttrykk uten å ty til noen form for bestilte erstatninger som vanligvis er en del av de andre strengformateringsteknikkene som er tilgjengelige i Python. F-strenger er som standard inkludert i Python 3.6 og nyere bygninger.

Grunnleggende syntaks og bruk

For å bruke F-String-formatet, må du prefiksere en hvilken. Her er et eksempel:

tekst1 = f "Dette er en streng.""
tekst2 = f "Dette er en annen streng.""
Print (Text1)
Print (Text2)

Som du kan se, er begge strengene forhåndsinnstilt av enten "F" eller "F" -tegn. Du kan også bruke F-strenger før trippel sitater. Triple sitater kan brukes til å representere strenger "som den er", og du trenger ikke å unnslippe tegn i en streng pakket inn i trippel sitater. Etter å ha kjørt denne kodeprøven, bør du få følgende utdata:

Dette er en streng.
Dette er en annen streng.

Eksemplet over viser bare enkel bruk av F-strenger der de er nøyaktig det samme som standard strengtypeobjekter. Kraften til F-strenger kommer fra inline-uttrykk som du kan pakke inn i krøllete tannregulering. Her er et eksempel som viser inline-variabler som brukes i F-strengene:

først = "1."
Second = "2nd"
tekst1 = f "Dette er først streng.""
text2 = f "Dette er andre -strengen.""
Print (Text1)
Print (Text2)

Som du kan se i eksemplet, har krøllete seler blitt brukt to ganger i F-strenger. Uttrykk og variabler inne i krøllete seler i F-strengene blir evaluert av Python, og deretter erstattes de med resultatene som returneres av de opprinnelige uttrykkene. Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:

Dette er den første strengen.
Dette er den andre strengen.

Hvis du bruker en tekstredigerer med riktig syntaks som fremhever for Python, vil du merke at de krøllete seler er representert i en annen fargekode, noe som indikerer deres forskjell med andre tegn i samme streng.

Du kan bruke krøllete seler et hvilket som helst antall ganger i F-strenger, som vist i eksemplet nedenfor:

først = "1."
Second = "2nd"
tekst = f "Dette er først streng. Dette er Second -strengen.""
trykk (tekst)

Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:

Dette er den første strengen. Dette er den andre strengen.

Du har kanskje brukt andre strengformaterings- og substitusjonsmetoder i Python, hovedsakelig "format" -metoden og "%s" spesialsymbol. Formatmetoden krever at du spesifiserer en numerisk indeks for variabler som vil bli evaluert i strengen. "%S" -formateringssyntaks krever at du leverer posisjonsargumenter i rekkefølge av utseende. Her er en sammenligning av alle tre typer formateringsmønstre:

først = "1."
Second = "2nd"
tekst = "Dette er 0 strengen. Dette er 1 -strengen."".Format (første, andre)
trykk (tekst)
tekst = "Dette er %S -strengen. Dette er %S -strengen." % (første sekund)
trykk (tekst)
tekst = f "Dette er først streng. Dette er Second -strengen.""
trykk (tekst)

Som du kan se i kodeprøven, gir F-strenger en mye mer lesbar og renere syntaks ved å bruke inline-variabler. Du kan bruke variabler og uttrykk nøyaktig på stedet der du vil at substitusjonen skal skje. Ingen grunn til å levere posisjonsargumenter eller indekser.

Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:

Dette er den første strengen. Dette er den andre strengen.
Dette er den første strengen. Dette er den andre strengen.
Dette er den første strengen. Dette er den andre strengen.

Bruke avanserte uttrykk i F-strenger

Du kan bruke matematiske operatører, samtalefunksjoner, runde tall og i utgangspunktet bruke ethvert vilkårlig en foring av en foring av python i de krøllete seler i F-strengene.

Du kan bruke “:” (kolon) symbolet for å kontrollere bredden på den evaluerte verdien. Hvis den evaluerte verdien er av "int" eller "float" -type, vil den bli avrundet. Nedenfor er en kodeeksempel:

Navn = "John"
poeng = 90.235689
tekst = f "" "Dette er et avrundet nummer: poeng:.3f | Dette er en ti tegn bred streng: "Navn: 10"."" "
trykk (tekst)

“.3f ”Modifikator runder tallet opptil 3 sifre. Du kan utvide bredden på en streng og fylle den med hvitespaser ved å oppgi et tall etter tykktarmssymbolet. Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:

Dette er et avrundet nummer: 90.236 | Dette er en ti karakter bred streng: "John".

Du kan vite mer om alle slike modifikatorer og symboler ved å besøke offisiell Python -dokumentasjon tilgjengelig her.

Du kan også bruke avanserte en foringserklæringer innen F-strenger. Eksemplet nedenfor viser bruk av listeforståelse i en F-streng:

tekst = f "" "Dette er en liste: [n for n i rekkevidde (10)]" "" "
trykk (tekst)

I de krøllete seler kan du se listeforståelse som brukes til å generere en liste fra et område på 10 tall. Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:

Dette er en liste: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Du kan kalle hvilken som helst funksjon i krøllete seler i F-strengene. Du kan også levere nødvendige argumenter når du ringer dem. Her er en kodeeksempel:

NumberList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
tekst = f "" "Listen lengde er: len (nummerliste)" "" "
trykk (tekst)

Kodeprøven illustrerer å påkalle “Len” -metoden i krøllete seler. Dette er en innebygd Python-metode, men du kan også kalle dine egne tilpassede funksjoner. Etter å ha kjørt ovennevnte kodeprøve, bør du få følgende utdata:

Langens lengde er: 10

Konklusjon

F-strengs gir en bedre metodikk for å formatere begrensninger av andre strengformateringssystemer som er tilgjengelige i Python. De er enkle å lese og bruke. De er ikke avhengige av posisjonsargumenter og holder koden ren, noe som gjør det enkelt å feilsøke uttrykk og uttalelser.