S Python f-nizi lahko v niz vstavite zapletene izraze in spre­men­ljiv­ke, ne da bi morali izvajati dodatne pretvorbe ali obli­ko­va­nje.

Kaj lahko naredijo Python f-nizi?

Python f-nizi so Pythonov format nizov, ki je bil uveden s Python 3.6. Poznani so tudi kot obli­ko­va­ni nizovni literali. Znotraj f-niza lahko iz­ra­ču­na­te izračune z uporabo oklepajev. F-nizi omogočajo bolj kompaktno notacijo kot drugi formati nizov, kot sta str.format() in po­ve­zo­va­nje z +. To vam na koncu omogoča jasnejšo in bolj jedrnato kodo.

F-nizi so zelo pri­la­go­dlji­vi in omogočajo vsta­vlja­nje različnih tipov podatkov, kot so cela števila, plavajoča števila, seznami, izrazi in funkcije, brez pre­tvar­ja­nja ali dodajanja posebnega obli­ko­va­nja. F-nizi v Pythonu so ponavadi hitrejši od drugih metod obli­ko­va­nja nizov v Pythonu.

Kakšna je sintaksa Pytho­no­vih f-nizov?

Osnovna struktura Pytho­no­ve­ga f-niza je se­sta­vlje­na iz predpone f ali F, ki ji sledi niz v na­re­ko­va­jih („ ali ’). Znotraj niza lahko uporabite oklepaje {} za vsta­vlja­nje spre­men­ljivk in izrazov.

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

V tem primeru smo spre­men­ljiv­ki name in age vstavili v oklepajih v niz f-string{name} in {age}.

Kako se upo­ra­blja­jo Python f-nizi?

F-strune se lahko upo­ra­blja­jo na različne načine.

Izvedba izračunov znotraj niza

Python f-nizi so še posebej praktični, če želite izvajati arit­me­tič­ne izračune znotraj niza. Omogočajo vam, da v eni vrstici kode opre­de­li­te zapleten izraz.

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

V tem primeru sta num1 in num2 dodana znotraj f-niza. Rezultat je prikazan v končnem izhodnem nizu.

Python f-nize in surove nize

Kom­bi­na­ci­ja r za surove nize in f za f-nize ustvari posebno vrsto niza v Pythonu, znano kot rf-niz. Z rf-nizi lahko združite funk­ci­o­nal­nost surovih nizov s fle­ksi­bil­no­stjo f-nizov. R-nizi **dobesedno in­ter­pre­ti­ra­jo escape sekvence,**f-nizi pa lahko ne­po­sre­dno vstavijo spre­men­ljiv­ke in izraze v niz.

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

V zgornji kodi smo za opre­de­li­tev poti uporabili rf-niz. V rf-nizu smo uporabili {name}, da smo ne­po­sre­dno vstavili spre­men­ljiv­ko name. Medtem pa r pred nizom za­go­ta­vlja, da se poševnica \ obravnava kot dobeseden znak in ne kot del zaporedja za pobeg.

Na­tanč­nost pla­va­jo­čih številk

Za določitev števila de­ci­mal­nih mest v pla­va­jo­čem številu v nizu f lahko uporabite posebne izjave za obli­ko­va­nje.

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

V zgornji kodi izjava za obli­ko­va­nje :.3f kaže, da je treba spre­men­ljiv­ko value za­o­kro­ži­ti na tri decimalna mesta in jo vstaviti v obli­ko­va­ni niz.

Širina in poravnava

V Python f-nizih lahko s spe­ci­fi­ka­ci­ja­mi širine in poravnave nad­zo­ru­je­te, kako se vrednosti pri­ka­zu­je­jo znotraj polja. To je koristno za umestitev besedila in številk na določeno mesto ter njihovo poravnavo levo, desno ali na sredino.

Recimo, da imamo ime __Alice__ in ga želimo poravnati desno v polju, ki je široko 10 znakov.

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

Ker je vrednost krajša od 10 znakov, jo bo {name:>10} poravnalo desno.

Polnjenje z ničlami ali drugimi znaki

Polnjenje z ničlami ali drugimi znaki vpliva na poravnavo številk v polju. To je koristno, če želite številke v fiksnem formatu, na primer pri pri­ka­zo­va­nju časa ali šte­vilč­nih vrednosti.

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

V tem primeru :06 pomeni, da bo številka number vnesena v šest­me­stno polje, manj­ka­jo­če številke pa bodo do­pol­nje­ne z ničlami na začetku.

Za iz­pol­nje­va­nje niza lahko uporabite tudi druge znake, ne le ničle:

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