Mis on Python f-stringid?
Pythoni f-stringidega saate lisada keerukaid väljendeid ja muutujaid otse stringi, ilma et peaksite tegema täiendavaid teisendusi või vorminguid.
Mida Python f-stringid suudavad teha?
Python f-stringid on Python stringi formaat, mis võeti kasutusele Python 3.6 versioonis. Neid tuntakse ka kui vormindatud stringi literaale. F-stringis saab arvutusi hinnata kasutades lokkisulge. F-stringid võimaldavad kompaktsemat märkimist kui teised stringi formaadid, nagu str.format() ja + ühendamine. See annab lõppkokkuvõttes selgema ja lakoonilisema koodi.
F-stringid on väga paindlikud ja võimaldavad sisestada erinevaid andmetüüpe, nagu täisarvud, ujukomaarvud, loendid, avaldised ja funktsioonid, ilma neid teisendamata või spetsiaalset vormingut lisamata. Python f-stringid on tavaliselt kiiremad kui teised stringide vormingumeetodid Pythonis.
Mis on Python f-stringide süntaks?
Pythoni f-stringi põhistruktuur koosneb eesliitest f või F, millele järgneb jutumärkides („ või ’) string. Stringis saab kasutada lokkisulge {} muutujate ja väljendite lisamiseks.
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.pythonSelles näites paneme muutujad name ja age f-stringi{name} ja {age} kaareklammeritesse.
Kuidas kasutatakse Python f-stringe?
F-stringe saab kasutada mitmel viisil.
Arvutuste tegemine stringis
Pythoni f-stringid on eriti praktilised, kui soovite teha aritmeetilisi arvutusi stringi sees. Need võimaldavad teil määratleda keerulise väljendi üheainsa koodireaga.
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 15pythonSelles 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
Kombinatsioon r toorest stringist ja f f-stringist loob Pythonis erilise stringi, mida nimetatakse rf-stringiks. Rf-stringidega saate kombineerida toorest stringi funktsionaalsuse f-stringi paindlikkusega. R-stringid tõlgendavad põgenemisjadasid sõna-sõnalt jaf-stringid saavad stringi otse muutujaid ja väljendeid sisestada.
name = "User"
path = rf'C:\Users\Username\Documents\{name}\file.txt'
print(path) # Output: C:\Users\Username\Documents\User\file.txtpythonEespool toodud koodis kasutasime rf-stringi tee määratlemiseks. Kasutasime rf-stringis {name}, et sisestada otse muutuja name. Samal ajal tagab stringi ees olev number r, et tagasikaldkriips \ käsitletakse literaalse märgina ja mitte escape-jada osana.
Ujukomaarvude täpsus
Saate kasutada spetsiaalseid vormingukäsklusi, et määrata f-stringis ujukomaarvu kümnendkohtade arv.
value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142pythonEespool toodud koodis näitab vorminguavaldis :.3f, et muutuja value tuleb ümardada kolme kümnendkohani ja lisada vormindatud stringi.
Laius ja joondamine
Python f-stringides võimaldavad laius- ja joondamisspetsifikatsioonid kontrollida väärtuste kuvamist väljas. See on kasulik teksti ja numbrite paigutamiseks kindlasse kohta ning nende joondamiseks 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, AlicepythonKuna 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 joondamist väljal. See on kasulik, kui soovite numbreid kindlas formaadis, näiteks kui kuvate aegu või numbrilisi väärtusi.
number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042pythonSelles näites tähendab :06, et number number sisestatakse kuuekohalisse väljale ja puuduvad numbrid täidetakse 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