Kas yra Python f-eilutės?
Naudodami Python f-strypus, galite įterpti sudėtingus išraiškus ir kintamuosius tiesiai į strypą, be papildomų konversijų ar formatavimo.
Ką gali Python f-strings?
Python f-stringai yra Python stygos formatas, kuris buvo įdiegtas Python 3.6 versijoje. Jie taip pat žinomi kaip formatuoti stygos literatai. F-stygos viduje galite įvertinti skaičiavimus naudodami skliaustelius. F-stygos leidžia naudoti kompaktiškesnę notaciją nei kiti stygos formatai, tokie kaip str.format() ir sujungimas su +. Tai galiausiai 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ūduriuojantys skaičiai, sąrašai, išraiškos ir funkcijos, jų nekonvertuojant ir nepridedant specialaus formatavimo. Python f-eilutės paprastai yra greitesnės nei kiti Python eilutės formatavimo metodai.
Kokia yra Python f-stringų sintaksė?
Pagrindinė Python f-string struktūra susideda iš priešdėlio f arba F, po kurio eina eilutė kabutėse („ arba ’). Eilutėje galite naudoti skliaustelius {}, kad įterptumėte kintamuosius 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 kintamuosius name ir age įrašėme į f-eilutės{name} ir {age} – skliaustelius.
Kaip naudojami Python f-stringai?
F-stygos gali būti naudojamos įvairiais būdais.
Skaičiavimų atlikimas strype
Python f-eilutės yra ypač praktiškos, jei norite atlikti aritmetinius skaičiavimus 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 15pythonŠiame pavyzdyje num1 ir num2 yra pridėti f-eilutėje. Rezultatas parodytas galutinėje eilutės išvestyje.
Python f-eilutės ir neapdorotos 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 funkcionalumą su f-eilutės lankstumu. R-eilutės interpretuoja pabėgimo sekas pažodžiui, of-eilutės gali tiesiogiai įterpti kintamuosius 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.txtpythonPirmiau pateiktame kode kelią apibrėžėme naudodami rf-string. Rf-string naudojome {name}, kad tiesiogiai įterptume kintamąjį name. Tuo tarpu prieš string esantis r užtikrina, kad atgalinis brūkšnys \ būtų traktuojamas kaip tiesioginis simbolis, o ne kaip pabėgimo sekos dalis.
Plaukiojančių skaičių tikslumas
Galite naudoti specialias formatavimo instrukcijas, kad nurodytumėte f-strype esančio plaukiojančiojo skaičiaus dešimtainių vietų skaičių.
value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142pythonPirmiau pateiktame kode formatavimo teiginys :.3f nurodo, kad kintamasis value turi būti suapvalintas iki trijų dešimtainių skaičių ir įterptas į suformatuotą eilutę.
Plotis ir išlyginimas
Python f-strypuose plotis ir išlyginimo specifikacijos leidžia kontroliuoti, 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, AlicepythonKadangi reikšmė yra trumpesnė nei 10 simbolių, {name:>10} ją išlygins dešinėje pusėje.
Pildymas nuliais ar kitais simboliais
Užpildymas nuliais ar kitais simboliais turi įtakos skaičių išdėstymui 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: 000042pythonŠiame pavyzdyje :06 reiškia, kad skaičius number bus įvestas į šešių skaitmenų lauką, o trūkstami skaitmenys bus užpildyti nuliais priešais.
Jūs taip pat galite naudoti kitus simbolius, ne tik nulius, kad užpildytumėte eilutę:
word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____python