# Millised andmetüübid on Pythonis olemas?

Pythoni andmetüübid on olulised andmete esitamiseks, töötlemiseks ja kasutamiseks. **Erinevaid andmetüüpe** kasutades saate salvestada teavet tõhusalt ja optimeerida oma rakenduse jõudlust.

## Mis on Python andmetüübid?

Pythoni andmetüübid on **väärtuste kategooriad**, mida kasutatakse erinevate andmete esitamiseks. Need määravad, kuidas teavet saab salvestada ja töödelda. Python pakub mitmesuguseid andmetüüpe, sealhulgas täisarvud (täisarvud), ujukomaarvud (komaarvud) ja stringid (märgijadad). Kehvemat tüüpi on nimekirjad, tuplid, sõnastikud ja hulgad. Andmetüübid hõlbustavad andmete struktureerimist ja töötlemist, mistõttu on need Pythoni programmeerimisel keskse tähtsusega.

Pythoni andmetüüpide peamine eesmärk on struktureerida andmeid eelnevalt määratletud reeglite järgi, et rahuldada erinevate rakenduste vajadusi. Igal andmetüübil on **oma funktsioonid ja omadused**. Näiteks loendid hoiavad objekte järjestatud järjekorras, samas kui sõnastikud kasutavad võtme-väärtuse paare sihtandmete otsimiseks. Sobivate andmetüüpide valimine muudab teie programmi paindlikuks ja lihtsamini hooldatavaks.

## Millised andmetüübid on Pythonis olemas?

Pythonil on mitmesuguseid sisseehitatud andmetüüpe, sealhulgas:

- **Numbrilised andmetüübid**: `int`, `float`, `complex`
- **Tähemärgijad**: `str`
- **Järjestusandmetüübid**: `list`, `tuple`, `range`
- **Binaarsed tüübid**: `bytes`, `bytearray`, `memoryview`
- **Sõnastikud**: `dict`.
- **Booli andmetüübid**: `bool`.
- **Hulgad**: `set`, `frozenset`

### Numbrilised andmetüübid

Pythonis on mitmeid andmetüüpe, mida saab numbritega töötamiseks kasutada:

1. Integer (`int`): Täisarvutüüp esindab täisarve ilma komakohtadeta.
2. Pikk (`long`): Pikk kasutatakse piiramatu pikkusega täisarvude jaoks. Alates Python 3-st on `long` ja `int` ühendatud.
3. Float (`float`): Float-tüüp hõlmab numbreid, millel on kümnendkohad.
4. Complex (`complex`): Kompleksarvud hõlmavad kompleksarve, millel on reaalarvuline osa ja imaginaarne osa, mida tähistab sufiks `j`.

```python
# Variable with integer value. 
a=3 
 
# Variable with float value. 
b=3.17 
 
# Variable with complex value. 
c=50+7j
```

### Keeled

Python-string (`str`) esindab märkide jada. Neid saab märkida **ühe-, kahe- või kolmepoolsete jutumärkidega**.

```python
# Single quotes 
str1 = 'Hello World!' 
 
# Double quotes 
str2 = "This is a string." 
 
# Triple quotes for multiline strings 
str3 = '''This is a multiline string.'''
```

Pythonis on stringid **muutumatud**, mis tähendab, et neid ei saa pärast loomist muuta. Stringid toetavad siiski mitmeid meetodeid ja operatsioone manipuleerimiseks, ühendamiseks ja analüüsimiseks. Saate tulemused salvestada muutujatesse, et saada uusi stringe.

Näited string-operatsioonidest:

- Keele pikkus: `len(str)`
- Lõikamine: `str[start:end]`
- Stringide ühendamine: `str1 + str2`

### Järjestikused andmetüübid

Järjepidevad andmetüübid Pythonis on andmestruktuurid, mis salvestavad **järjestatud** elementide **kogumi**. Need võimaldavad juurdepääsu elementidele nende positsiooni järgi järjestuses. Pythonis on mitu järjepidevat andmetüüpi:

**Loendid (`list`)**: Python’i loendid on **muudetavad järjestikused andmetüübid**, mis esindavad järjestatud elementide kogumit. Loendis olevaid elemente saab muuta, lisada ja eemaldada. Loendid luuakse nurksulgude abil ja need sisaldavad erinevate andmetüüpide elemente.

```python
my_list = [1, 2, 3, 'Hello', 'World']
```

**Tuple (`tuple`)**: Tuple’id on **muutumatud järjestikused andmetüübid**, mis sarnaselt nimekirjadega kuvavad järjestatud elementide kogumit. Erinevalt nimekirjadest ei saa tuple’e hiljem muuta. Tuple’ite puhul kasuta ümarat sulgudes.

```python
my_tuple = (4, 5, 6, 'Python')
```

**Range (`range`)**: See on spetsiaalne Python-andmetüüp, mida kasutatakse numbrite jada genereerimiseks ja mida kasutatakse sageli tsüklites ja iteratsioonides. Andmetüüp `range` loob täisarvude jada määratud vahemikus. **Range-objekt** genereerib numbreid nõudmise korral, mitte ei salvesta neid tervikliku nimekirjana mällu, mis suurendab efektiivsust, eriti suurte numbrite jadade puhul.

```python
# Range from 0 to 4 
my_range = range(4) 
for i in my_range: 
    print(i) 
# Output: 0, 1, 2, 3
```

### Binaarsed tüübid

**Baitid (`bytes`)**: Andmetüüp `bytes` esindab **muutumatut baitide jada**. Baitid saab luua konstruktori `bytes()` või eelneva `b` abil.

```python
my_bytes = b'Hello'
```

**bytearray (`bytearray`)**: Erinevalt `bytes` kuulub `bytearray` **muudetavate Python-andmetüüpide** hulka, esindades baitide jada. See tähendab, et saate väärtusi pärast deklareerimist muuta.

```python
my_bytearray = bytearray(b'Python')
```

### Sõnastikud

Pythonis on sõnastik (`dict`) andmestruktuur, mis salvestab järjestamata elementide kogumi **võti-väärtuse paaride** kujul. Erinevalt loenditest või tuplidest, mis sisaldavad järjestatud elementide jada, kasutatakse sõnastikus elementidele juurdepääsuks unikaalseid võtmeid.

```python
my_dict = {
    "name": "Max",
    "age": 25,
    "city": "Berlin"
}
```

### Booli andmetüübid

Boole’i Python-andmetüübid esindavad **tõeväärtusi**, mis võivad olla kas tõesed (`True`) või valed (`False`). Need andmed on programmi loogiliste hindamiste ja otsuste tegemisel väga olulised.

```python
a = True
b = False
result_1 = (a and b) # returns False
result_2 = (a or b) # returns True
result_3 = (not a) # returns False
```

### Komplektid

Hulk on **järjestamata kogum** unikaalseid väärtusi, mis ei luba dubleerimist. Seda saab kasutada mitme elemendi salvestamiseks, kus iga element on unikaalne.

```python
my_set = {1, 2, 3, 4, 5}
```

`frozenset` on **muutumatu versioon komplektist**. Kui **see** on loodud, ei saa elemente lisada, eemaldada ega muuta.

```python
my_set = {1, 2, 3, 4, 5}
frozen_set = frozenset(my_set)
```


This is a markdown version of: [https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/pythoni-andmetueuebid/](https://www.ionos.com/et-ee/digitalguide/veebisaidid/veebiarendus/pythoni-andmetueuebid/) for AI/LLM consumption.