Naudodami Python f-strypus, galite įterpti su­dė­tin­gus išraiškus ir kin­ta­muo­sius tiesiai į strypą, be papildomų kon­ver­si­jų ar for­ma­ta­vi­mo.

Ką gali Python f-strings?

Python f-stringai yra Python stygos formatas, kuris buvo įdiegtas Python 3.6 versijoje. Jie taip pat žinomi kaip for­ma­tuo­ti stygos literatai. F-stygos viduje galite įvertinti skai­čia­vi­mus naudodami skliaus­te­lius. F-stygos leidžia naudoti kom­pak­tiš­kes­nę notaciją nei kiti stygos formatai, tokie kaip str.format() ir su­jun­gi­mas su +. Tai ga­liau­siai leidžia jums turėti aiškesnį ir glaudesnį kodą.

F-eilutės yra labai lanksčios ir leidžia įterpti įvairių tipų duomenis, pvz. , sveikieji skaičiai, plū­du­riuo­jan­tys skaičiai, sąrašai, išraiškos ir funkcijos, jų ne­kon­ver­tuo­jant ir ne­pri­de­dant spe­cia­laus for­ma­ta­vi­mo. Python f-eilutės paprastai yra grei­tes­nės nei kiti Python eilutės for­ma­ta­vi­mo metodai.

Kokia yra Python f-stringų sintaksė?

Pag­rin­di­nė Python f-string struktūra susideda iš prieš­dė­lio f arba F, po kurio eina eilutė kabutėse („ arba ’). Eilutėje galite naudoti skliaus­te­lius {}, kad įterp­tu­mė­te kin­ta­muo­sius ir išraiškas.

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

Šiame pavyzdyje kin­ta­muo­sius name ir age įrašėme į f-eilutės{name} ir {age} – skliaus­te­lius.

Kaip naudojami Python f-stringai?

F-stygos gali būti nau­do­ja­mos įvairiais būdais.

Skai­čia­vi­mų atlikimas strype

Python f-eilutės yra ypač prak­tiš­kos, jei norite atlikti arit­me­ti­nius skai­čia­vi­mus eilutėje. Jos leidžia apibrėžti sudėtingą išraišką vienoje kodų eilutėje.

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

Šiame pavyzdyje num1 ir num2 yra pridėti f-eilutėje. Re­zul­ta­tas parodytas ga­lu­ti­nė­je eilutės išvestyje.

Python f-eilutės ir ne­ap­do­ro­tos eilutės

r (žalios eilutės) ir f (f-eilutės) derinys sukuria specialų Python eilutės tipą, žinomą kaip rf-eilutė. Naudodami rf-eilutes, galite derinti žalios eilutės funk­cio­na­lu­mą su f-eilutės lankstumu. R-eilutės in­ter­pre­tuo­ja pabėgimo sekas pažodžiui, of-eilutės gali tie­sio­giai įterpti kin­ta­muo­sius ir išraiškas į eilutę.

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

Pirmiau pa­teik­ta­me kode kelią api­brė­žė­me naudodami rf-string. Rf-string naudojome {name}, kad tie­sio­giai įterptume kintamąjį name. Tuo tarpu prieš string esantis r užtikrina, kad atgalinis brūkšnys \ būtų trak­tuo­ja­mas kaip tie­sio­gi­nis simbolis, o ne kaip pabėgimo sekos dalis.

Plau­kio­jan­čių skaičių tikslumas

Galite naudoti spe­cia­lias for­ma­ta­vi­mo inst­ruk­ci­jas, kad nu­ro­dy­tu­mė­te f-strype esančio plau­kio­jan­čio­jo skaičiaus de­šim­tai­nių vietų skaičių.

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

Pirmiau pa­teik­ta­me kode for­ma­ta­vi­mo teiginys :.3f nurodo, kad kin­ta­ma­sis value turi būti su­ap­va­lin­tas iki trijų de­šim­tai­nių skaičių ir įterptas į su­for­ma­tuo­tą eilutę.

Plotis ir iš­ly­gi­ni­mas

Python f-strypuose plotis ir iš­ly­gi­ni­mo spe­ci­fi­ka­ci­jos leidžia kont­ro­liuo­ti, kaip reikšmės rodomos lauke. Tai naudinga norint tekstą ir skaičius įdėti į tam tikrą vietą ir išlyginti juos į kairę, į dešinę arba į centrą.

Tarkime, turime vardą __Alice__ ir norime jį išlyginti dešinėje pusėje lauke, kurio plotis yra 10 simbolių.

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

Kadangi reikšmė yra trumpesnė nei 10 simbolių, {name:>10} ją išlygins dešinėje pusėje.

Pildymas nuliais ar kitais sim­bo­liais

Už­pil­dy­mas nuliais ar kitais sim­bo­liais turi įtakos skaičių iš­dės­ty­mui lauke. Tai naudinga, jei norite, kad skaičiai būtų fiksuoto formato, pvz., kai rodomas laikas ar skaitinės reikšmės.

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

Šiame pavyzdyje :06 reiškia, kad skaičius number bus įvestas į šešių skaitmenų lauką, o trūkstami skait­me­nys bus užpildyti nuliais priešais.

Jūs taip pat galite naudoti kitus simbolius, ne tik nulius, kad už­pil­dy­tu­mė­te eilutę:

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