- Python je dynamicky typovaný jazyk, což znamená, že interpret je schopen automaticky určit datový typ proměnné na základě přiřazené hodnoty.
- V Pythonu se datové typy automaticky přizpůsobují hodnotám, které jsou jim přiřazeny, a umožňují dynamickou manipulaci s daty.
Základní datové typy:
- Integer (celé číslo):
- celá čísla
- např.
5,-10
- Float (desetinné číslo):
- Reálná čísla s plovoucí desetinnou čárkou
- např.
3.14,-0.001
- Boolean (logická hodnota):
- Reprezentuje pravdivostní hodnoty
- např.
TrueaFalse.
- String (řetězec znaků):
- Sekvence znaků
- Imutabilní (neměnné)
- např.
"hello world"nebo'Python je skvělý'. - f string -
f"calculation: {10 + 2 * 20}"
- List (seznam):
- Uspořádaná, změnitelná (mutabilní) sekvence prvků.
- Může obsahovat různé typy dat.
- např.
[1, 2, 3]nebo['jablko', 'hruška', 'banán'].
- Tuple (n-tice):
- Podobný seznamu, ale je neměnný (immutable).
- Může obsahovat různé typy dat.
- např.
(1, 2, 3).
- Range:
- Reprezentuje sekvenci čísel generovanou na základě počáteční, koncové hodnoty a kroku.
- Používá se často v cyklech
for.
- Dictionary (slovník):
- Neuspořádaná kolekce párů klíč-hodnota.
- např.
{'jmeno': 'Jan', 'vek': 30}.
- Set (množina):
- Neuspořádaná kolekce unikátních prvků.
- např.
{1, 2, 3}.
- NoneType:
- Speciální typ reprezentující absenci hodnoty.
- Má jedinou hodnotu
None
Vlastnosti datových typů v Pythonu:
- Dynamické přiřazení typů: Python automaticky určuje datový typ proměnných na základě hodnoty, která je do nich přiřazena. Například:
x = 5 # x je nyní typu int
x = "hello" # x je nyní typu str-
Silná typová kontrola: Python provádí silnou typovou kontrolu, což znamená, že nelze provádět operace s datovými typy, které nejsou kompatibilní. Například nelze sčítat číslo a řetězec, pokud není provedena konverze.
-
Dynamické rozšiřování: Python umožňuje dynamicky rozšiřovat datové struktury, jako jsou seznamy a slovníky, přidáváním nových prvků nebo klíčů. Například:
list = [1, 2, 3] list.append(4) # Přidává prvek 4 na konec seznamu-
Metody a operátory: Každý datový typ v Pythonu má své vlastní metody a operátory pro manipulaci s daty. Například metoda
append()pro seznamy, nebo operátor+pro spojování řetězců. -
Dynamická alokace paměti: Python spravuje paměť dynamicky, což znamená, že se stará o alokaci a dealokaci paměti pro proměnné a datové struktury.
Mutabilita
Info
- mutabilní objekt … po jeho vytvoření umožňuje měnit jeho vnitřní stav
- imutabilní objekt … po vytvoření NENÍ možné měnit vnitřní stav
- Proměnná v Pythonu je pouze odkazem na objekt, až samotný objekt je umístěn někde v paměti
Hodnota (value)
- Konkrétní kus dat, která jsou v objektu obsažehna
Identity
- Unikátní identifikátor objektu (místo v paměti, kde “žije”)
>>> id(42)
4343440904Typ
- Typ nám říká z jaké třídy se objekt odvozuje
>>> type(42)
<class 'int'>Imutabilní objekty
intfloatcomplexstrbytestuplebool(odvozený iint)
Mutabilní objekty
listdictionaryset
| Datový typ | Třída | Mutabilní |
|---|---|---|
| Numbers | int, float, complex | ❌ |
| Strings | str | ❌ |
| Tuples | tuple | ❌ |
| Bytes | bytes | ❌ |
| Booleans | bool | ❌ |
| Frozen sets | frozenset | ❌ |
| Lists | list | ✅ |
| Dictionaries | dict | ✅ |
| Sets | set | ✅ |
| Byte arrays | bytearray | ✅ |