# 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.

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

Selles 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.

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

Selles 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 ja**f-stringid saavad stringi otse muutujaid ja väljendeid sisestada.

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

Eespool 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.

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

Eespool 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.

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

Kuna 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**.

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

Selles 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:

```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/et-ee/digitalguide/veebisaidid/veebiarendus/python-f-stringid/](https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/python-f-stringid/) for AI/LLM consumption.