# Kokius duomenų tipus turi Python?

Python duomenų tipai yra būtini duomenų pateikimui, apdorojimui ir naudojimui. Naudodami **skirtingus duomenų tipus**, galite efektyviai saugoti informaciją ir optimizuoti savo programos veikimą.

## Kas yra Python duomenų tipai?

Python duomenų tipai yra **vertės kategorijos**, naudojamos įvairių tipų duomenims pateikti. Jie nulemia, kaip informacija gali būti saugoma ir tvarkoma. Python siūlo įvairius duomenų tipus, įskaitant sveikųjų skaičių (sveikieji skaičiai), plaukiojančiojo kablelio (dešimtainiai skaičiai) ir eilutės (simbolių eilutės). Sudėtingesni tipai apima sąrašus, tuples, žodynus ir rinkinius. Duomenų tipai palengvina duomenų struktūrizavimą ir apdorojimą, todėl jie yra labai svarbūs Python programavimui.

Pagrindinis Python duomenų tipų tikslas yra struktūrizuoti duomenis pagal iš anksto nustatytas taisykles, kad būtų patenkinti įvairių programų poreikiai. Kiekvienas duomenų tipas turi **skirtingas funkcijas ir savybes**. Pavyzdžiui, sąrašai išlaiko elementus tvarkingoje sekoje, o žodynai naudoja raktų-verčių poras tikslingam duomenų paieškai. Pasirinkus tinkamus duomenų tipus jūsų duomenims, programa taps lankstesnė ir lengviau prižiūrima.

## Kokie duomenų tipai yra Python kalboje?

Python turi įvairių įdiegtų duomenų tipų, įskaitant:

- **Skaitmeniniai duomenų tipai**: `int`, `float`, `complex`
- **Stringai**: `str`
- **Sekciniai duomenų tipai**: `list`, `tuple`, `range`
- **Dvejetainiai tipai**: `bytes`, `bytearray`, `memoryview`
- **Žodynai**: `dict`.
- **Būliniai duomenų tipai**: `bool`.
- **Rinkiniai**: `set`, `frozenset`

### Skaitmeniniai duomenų tipai

Yra keletas Python duomenų tipų, kuriuos galite naudoti dirbdami su skaičiais:

1. Sveikasis skaičius (`int`): Sveikasis skaičius reiškia sveiką skaičių be dešimtainių vietų.
2. Ilgas (`long`): Ilgas naudojamas sveikiesiems skaičiams su neribotu ilgiu. Nuo Python 3 versijos `long` ir `int` yra sujungti.
3. Plaukiojantis (`float`): Plaukiojantis tipas apima skaičius su dešimtainiais skaičiais.
4. Complex (`complex`): Kompleksinis tipas apima kompleksinius skaičius su realia dalimi ir imaginaria dalimi, pažymėtus priesaga `j`.

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

### Stygos

Python stygos (`str`) reiškia simbolių seką. Juos galima pažymėti **viengubomis, dvigubomis arba trigubomis kabutėmis**.

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

Python kalboje eilutės yra **nekintamos**, tai reiškia, kad jas sukūrus jų negalima keisti. Tačiau eilutės palaiko daugybę metodų ir operacijų, skirtų manipuliavimui, sujungimui ir analizei. Rezultatus galite išsaugoti kintamuosiuose, kad gautumėte naujas eilutes.

String operacijų pavyzdžiai:

- Stygos ilgis: `len(str)`
- Pjaustymas: `str[start:end]`
- Strypų sujungimas: `str1 + str2`

### Sekciniai duomenų tipai

Sekciniai duomenų tipai Python kalboje yra duomenų struktūros, kuriose saugomi **tvarkingai surūšiuoti** elementai. Jie leidžia pasiekti elementus pagal jų padėtį sekoje. Yra keletas sekcinių Python duomenų tipų:

**Sąrašai (`list`)**: Python sąrašai yra **modifikuojami nuoseklūs duomenų tipai**, kurie atspindi tvarkingą elementų rinkinį. Sąraše galite keisti, pridėti ir pašalinti elementus. Sąrašai kuriamos naudojant kvadratines skliausteles ir juose gali būti įvairių duomenų tipų elementai.

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

**Tuple (`tuple`)**: Tuple yra **nekintami nuoseklūs duomenų tipai**, kurie, kaip ir sąrašai, rodo tvarkingą elementų rinkinį. Skirtingai nuo sąrašų, tuple vėliau negalima keisti. Tuple rašykite apvaliomis skliaustelėmis.

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

**Diapazonas (`range`)**: tai specialus Python duomenų tipas, naudojamas skaičių sekų generavimui, dažnai naudojamas kilpų ir iteracijų metu. `range` duomenų tipas sukuria sveikųjų skaičių seką nurodytame diapazone. **Diapazono objektas** generuoja skaičius pagal poreikį, o ne saugo juos kaip išsamų sąrašą atmintyje, taip padidindamas efektyvumą, ypač dirbant su didelėmis skaičių sekomis.

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

### Dvejetainiai tipai

**Baitai (`bytes`)**: Duomenų tipas `bytes` reiškia **nekintamą baitų seką**. Baitai gali būti sukurti naudojant `bytes()` konstruktorių arba prefikso `b`.

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

**bytearray (`bytearray`)**: Skirtingai nuo `bytes`, `bytearray` priklauso **modifikuojamiems Python duomenų tipams**, kurie atitinka baitų seką. Tai reiškia, kad po deklaravimo galite keisti vertes.

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

### Žodynai

Python kalboje žodynas (`dict`) yra duomenų struktūra, kurioje saugoma nesusisteminta elementų kolekcija **raktų-verčių porų** forma. Skirtingai nuo sąrašų ar tuplų, kuriuose elementai išdėstyti tam tikra tvarka, žodyne elementams pasiekti naudojami unikalūs raktai.

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

### Būliniai duomenų tipai

Būliniai Python duomenų tipai atspindi **tiesos vertes**, kurios gali būti teisingos (`True`) arba klaidingos (`False`). Šie duomenys yra labai svarbūs loginiams vertinimams ir sprendimams programoje.

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

### Rinkiniai

Rinkinys yra **nesusisteminta** unikalių verčių **kolekcija**, kurioje neleidžiami dubliavimai. Jį galite naudoti daugelio elementų, kurių kiekvienas yra unikalus, saugojimui.

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

`frozenset` yra **nekintama rinkinio versija**. Kartą sukurtus elementus negalima pridėti, pašalinti ar keisti.

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


This is a markdown version of: [https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/python-duomenu-tipai/](https://www.ionos.com/lt-lt/digitalguide/interneto-svetaines/interneto-svetainiu-kurimas/python-duomenu-tipai/) for AI/LLM consumption.