# Kaj so Python f-nizi?

S Python f-nizi lahko v niz vstavite **zapletene izraze in spremenljivke**, ne da bi morali izvajati dodatne pretvorbe ali oblikovanje.

## 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 **oblikovani nizovni literali**. Znotraj f-niza lahko izračunate izračune z uporabo oklepajev. F-nizi omogočajo bolj kompaktno notacijo kot drugi formati nizov, kot sta `str.format()` in povezovanje z `+`. To vam na koncu omogoča jasnejšo in bolj jedrnato kodo.

F-nizi so zelo prilagodljivi in omogočajo vstavljanje različnih tipov podatkov, kot so **cela števila, plavajoča števila, seznami,** izrazi in funkcije, brez pretvarjanja ali dodajanja posebnega oblikovanja. F-nizi v Pythonu so ponavadi hitrejši od drugih metod oblikovanja nizov v Pythonu.

## Kakšna je sintaksa Pythonovih f-nizov?

Osnovna struktura Pythonovega f-niza je sestavljena iz **predpone** `f` ali `F`, ki ji sledi niz v narekovajih („ ali ’). Znotraj niza lahko uporabite oklepaje `{}` za vstavljanje spremenljivk in izrazov.

```python
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.
```

V tem primeru smo spremenljivki `name` in `age` vstavili v oklepajih v niz f-string`{name}` in `{age}`.

## Kako se uporabljajo Python f-nizi?

F-strune se lahko uporabljajo na različne načine.

### Izvedba izračunov znotraj niza

Python f-nizi so še posebej praktični, če želite izvajati **aritmetične izračune** znotraj niza. Omogočajo vam, da v eni vrstici kode opredelite zapleten izraz.

```python
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
```

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

Kombinacija `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 funkcionalnost surovih nizov s fleksibilnostjo f-nizov. R-nizi \*\*dobesedno interpretirajo escape sekvence,\*\*f-nizi pa lahko neposredno vstavijo spremenljivke in izraze v niz.

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

V zgornji kodi smo za opredelitev poti uporabili rf-niz. V rf-nizu smo uporabili `{name}`, da smo neposredno vstavili spremenljivko `name`. Medtem pa `r` pred nizom zagotavlja, da se **poševnica** `\` obravnava kot dobeseden znak in ne kot del zaporedja za pobeg.

### Natančnost plavajočih številk

Za določitev števila decimalnih mest v plavajočem številu v nizu f lahko uporabite posebne **izjave za oblikovanje**.

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

V zgornji kodi izjava za oblikovanje `:.3f` kaže, da je treba spremenljivko `value` zaokrožiti na tri decimalna mesta in jo vstaviti v oblikovani niz.

### Širina in poravnava

V Python f-nizih lahko s specifikacijami širine in poravnave nadzorujete, kako **se vrednosti prikazujejo** 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.

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

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 **prikazovanju časa ali številčnih vrednosti**.

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

V tem primeru `:06` pomeni, da bo številka `number` vnesena v šestmestno polje, manjkajoče številke pa bodo dopolnjene z ničlami na začetku.

Za izpolnjevanje niza lahko uporabite tudi druge znake, ne le ničle:

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


This is a markdown version of: [https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/python-f-nizi/](https://www.ionos.com/sl-si/digitalguide/spletne-strani/razvoj-spletnih-strani/python-f-nizi/) for AI/LLM consumption.