Pythoni f-strin­gi­dega saate lisada keerukaid väl­jen­deid ja muutujaid otse stringi, ilma et peaksite tegema täien­da­vaid tei­sen­dusi või vor­min­guid.

Mida Python f-stringid suudavad teha?

Python f-stringid on Python stringi formaat, mis võeti ka­su­tusele Python 3.6 ver­sioo­nis. Neid tuntakse ka kui vor­min­da­tud stringi literaale. F-stringis saab arvutusi hinnata kasutades lok­ki­sulge. F-stringid või­mal­da­vad kom­pakt­se­mat märkimist kui teised stringi formaadid, nagu str.format() ja + ühen­da­mine. See annab lõpp­kok­ku­võt­tes selgema ja la­koo­ni­li­sema koodi.

F-stringid on väga paind­li­kud ja või­mal­da­vad sisestada erinevaid and­me­tüüpe, nagu täisarvud, uju­ko­ma­ar­vud, loendid, avaldised ja funkt­sioo­nid, ilma neid tei­sen­da­mata või spet­siaal­set vormingut lisamata. Python f-stringid on ta­va­li­selt kiiremad kui teised stringide vor­min­gu­mee­to­did Pythonis.

Mis on Python f-stringide süntaks?

Pythoni f-stringi põ­hi­struk­tuur koosneb ees­lii­test f või F, millele järgneb ju­tu­mär­ki­des („ või ’) string. Stringis saab kasutada lok­ki­sulge {} muutujate ja väl­jen­dite li­sa­miseks.

name = "Peter"
age = 25
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string) # Output: My name is Peter and I am 25 years old.
python

Selles näites paneme muutujad name ja age f-stringi{name} ja {age} kaa­rek­lam­meri­tesse.

Kuidas ka­su­ta­takse Python f-stringe?

F-stringe saab kasutada mitmel viisil.

Arvutuste tegemine stringis

Pythoni f-stringid on eriti prak­ti­li­sed, kui soovite teha arit­mee­tilisi arvutusi stringi sees. Need või­mal­da­vad teil mää­rat­leda keerulise väljendi üheainsa koo­di­reaga.

num1 = 10
num2 = 5
result = f"The sum of {num1} and {num2} is {num1 + num2}"
print(result) # Output: The sum of 10 and 5 is 15
python

Selles näites lisatakse f-stringi sisse num num1 ja num2. Tulemus on näidatud lõplikus stringi väljundis.

Pythoni f-stringid ja toored stringid

Kom­bi­nat­sioon r toorest stringist ja f f-stringist loob Pythonis erilise stringi, mida ni­me­ta­takse rf-stringiks. Rf-strin­gi­dega saate kom­bi­nee­rida toorest stringi funkt­sio­naal­suse f-stringi paind­lik­ku­sega. R-stringid tõl­gen­da­vad põ­ge­ne­mis­ja­da­sid sõna-sõnalt jaf-stringid saavad stringi otse muutujaid ja väl­jen­deid sisestada.

name = "User"
path = rf'C:\Users\Username\Documents\{name}\file.txt'
print(path) # Output: C:\Users\Username\Documents\User\file.txt
python

Eespool toodud koodis ka­su­ta­sime rf-stringi tee mää­rat­le­miseks. Ka­su­ta­sime rf-stringis {name}, et sisestada otse muutuja name. Samal ajal tagab stringi ees olev number r, et ta­ga­si­kald­kriips \ kä­sit­le­takse li­te­raalse märgina ja mitte escape-jada osana.

Uju­ko­ma­ar­vude täpsus

Saate kasutada spet­siaal­seid vor­min­gu­käsklusi, et määrata f-stringis uju­ko­ma­arvu küm­nend­kohtade arv.

value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142
python

Eespool toodud koodis näitab vor­min­gu­aval­dis :.3f, et muutuja value tuleb ümardada kolme küm­nend­ko­hani ja lisada vor­min­da­tud stringi.

Laius ja joon­da­mine

Python f-strin­gi­des või­mal­da­vad laius- ja joon­da­mis­spet­si­fi­kat­sioo­nid kont­rol­lida väärtuste kuvamist väljas. See on kasulik teksti ja numbrite pai­gu­ta­miseks kindlasse kohta ning nende joon­da­miseks vasakule, paremale või keskele.

Oletame, et meil on nimi __Alice__ ja tahame selle joondada paremale 10 tähemärgi laiuses väljas.

name = "Alice"
formatted_name = f"Hello, {name:>10}"
print(formatted_name) # Output: Hello,      Alice
python

Kuna väärtus on lühem kui 10 tähemärki, joondab {name:>10} selle paremale.

Täitmine nullide või muude märkidega

Nullide või muude tähtedega täitmine mõjutab numbrite joon­da­mist väljal. See on kasulik, kui soovite numbreid kindlas formaadis, näiteks kui kuvate aegu või numb­rilisi väärtusi.

number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042
python

Selles näites tähendab :06, et number number si­ses­ta­takse kuue­ko­ha­lisse väljale ja puuduvad numbrid täi­de­takse nullidega.

Saad kasutada ka muid märke peale nullide, et täita string:

word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____
python
Go to Main Menu