# Katere vrste podatkov ima Python?

Podatkovni tipi v Pythonu so bistveni za predstavljanje, obdelavo in uporabo podatkov. Z uporabo **različnih podatkovnih tipov** lahko informacije shranjujete na učinkovit način in optimizirate delovanje svoje aplikacije.

## Kaj so podatkovni tipi v Pythonu?

Podatkovni tipi v Pythonu so **kategorije vrednosti**, ki se uporabljajo za predstavitev različnih vrst podatkov. Določajo, kako se informacije lahko shranjujejo in obdelujejo. Python ponuja vrsto različnih podatkovnih tipov, vključno s celimi številkami (celimi številkami), plavajočimi številkami (decimalnimi številkami) in nizi (znaki). Naprednejši tipi vključujejo sezname, tuples, slovarje in nize. Podatkovni tipi olajšujejo strukturiranje in obdelavo podatkov, zaradi česar so ključni za programiranje v Pythonu.

Glavni cilj podatkovnih tipov v Pythonu je strukturiranje podatkov v skladu s predhodno določenimi pravili, da se lahko izpolnijo potrebe različnih aplikacij. Vsak podatkovni tip ima **svoje posebne funkcije in lastnosti**. Seznami na primer ohranjajo elemente v urejenem zaporedju, medtem ko slovarji uporabljajo pare ključ-vrednost za ciljno iskanje podatkov. Izbiranje ustreznih podatkovnih tipov za vaše podatke bo vaš program naredilo fleksibilen in lažji za vzdrževanje.

## Kakšne vrste podatkovnih tipov obstajajo v Pythonu?

Python ima različne vgrajene podatkovne tipe, med drugim:

- **Številčni podatkovni tipi**: `int`, `float`, `complex`
- **Nizi**: `str`
- **Zaporedni podatkovni tipi**: `list`, `tuple`, `range`
- **Binarni tipi**: `bytes`, `bytearray`, `memoryview`
- **Slovarji**: `dict`.
- **Boolovski podatkovni tipi**: `bool`.
- **Nizi**: `set`, `frozenset`

### Številčni podatkovni tipi

Obstaja več tipov podatkov v Pythonu, ki jih lahko uporabite za delo s številkami:

1. Celo število (`int`): Tip celo število predstavlja cela števila brez decimalnih mest.
2. Long (`long`): Long se uporablja za celoštevilske vrednosti z neomejeno dolžino. V Pythonu 3 sta `long` in `int` združena.
3. Float (`float`): Tip float vključuje števila z decimalnimi mesti.
4. Complex (`complex`): Tip complex vključuje kompleksna števila z realnim in imaginarijskim delom, označenim s končnico `j`.

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

### Nize

Niz Python (`str`) predstavlja zaporedje znakov. Označite jih lahko z **enojnimi, dvojnimi ali trojnimi narekovaji.**

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

V Pythonu so nizi **nespremenljivi**, kar pomeni, da jih po ustvarjanju ni mogoče spremeniti. Vendar pa nizi podpirajo številne metode in operacije za manipulacijo, združevanje in analizo. Rezultate lahko shranite v spremenljivke, da dobite nove nize.

Primeri operacij z nizi:

- Dolžina strune: `len(str)`
- Razrez: `str[start:end]`
- Združevanje nizov: `str1 + str2`

### Zaporedni podatkovni tipi

Zaporedni podatkovni tipi v Pythonu so podatkovne strukture, ki shranjujejo **urejeno zbirko** elementov. Omogočajo dostop do elementov na podlagi njihovega položaja v zaporedju. Obstaja več zaporednih podatkovnih tipov v Pythonu:

**Seznami (`list`)**: Seznami v Pythonu so **spremenljivi zaporedni podatkovni tipi**, ki predstavljajo urejeno zbirko elementov. Elemente v seznamu lahko spreminjate, dodajate in odstranjujete. Seznami se ustvarjajo z uporabo oglatih oklepajev in vsebujejo elemente različnih podatkovnih tipov.

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

**Tuple (`tuple`)**: Tuple so **nespremenljivi zaporedni podatkovni tipi**, ki podobno kot seznami prikazujejo urejeno zbirko elementov. V nasprotju s seznami se tuple naknadno ne morejo spreminjati. Za tuple uporabljajte okrogle oklepaje.

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

**Range (`range`)**: To je poseben podatkovni tip v Pythonu, ki se uporablja za generiranje zaporedij številk, pogosto v zankah in ponovitvah. Podatkovni tip `range` ustvari zaporedje celih številk znotraj določenega obsega. **Objekt range** generira številke po potrebi, namesto da jih shranjuje kot popoln seznam v pomnilniku, kar poveča učinkovitost, zlasti pri velikih zaporedjih številk.

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

### Binarni tipi

**Bajti (`bytes`)**: Podatkovni tip `bytes` predstavlja **nespremenljivo zaporedje bajtov**. Bajte je mogoče ustvariti s konstruktorjem `bytes()` ali predpono `b`.

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

**bytearray (`bytearray`)**: V nasprotju s `bytes`, `bytearray` spada med **spremenljive podatkovne tipe Python**, ki predstavljajo zaporedje bajtov. To pomeni, da lahko vrednosti spreminjate po deklaraciji.

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

### Slovarji

V Pythonu je slovar (`dict`) podatkovna struktura, ki shranjuje neurejeno zbirko elementov v obliki **parov ključ-vrednost**. Za razliko od seznamov ali nizov, ki vsebujejo urejeno zaporedje elementov, se za dostop do elementov v slovarju uporabljajo edinstveni ključi.

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

### Booleanski podatkovni tipi

Boolean Python podatkovni tipi predstavljajo **vrednosti resnice**, ki so lahko resnične (`True`) ali napačne (`False`). Ti podatki so ključni za logične ocene in odločitve znotraj programa.

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

### Kompleti

Niz je **neurejena zbirka** edinstvenih vrednosti, ki ne dopušča podvajanja. Uporabite ga lahko za shranjevanje več elementov, pri čemer je vsak element edinstven.

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

`frozenset` je **nespremenljiva različica niza**. Ko je enkrat ustvarjen, elementov ni mogoče dodajati, odstranjevati ali spreminjati.

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


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