Datové typy a Python

Co je to datový typ?

Zatím jsme používali jen výrazy pro proměnné typu Tohle je číslo nebo Tohle je text.

Reprezentace těchto proměnných v počítači je uskutečněna pomocí datových typů.

Způsob reprezentace prozradí následující tabulka:

Název datového typuJak daný datový typ reálně vypadá
intcelé číslo
doubledesetinné číslo
stringtext
charznak
booleantrue nebo false

Proměnná

Proměnná je konkrétní reprezentace datového typu v programu. V příkladu tématu Datové typy v Pythonu je proměnná a typu string.

Příklad:

Určete u jednotlivých položek a - j, jaká hodnota bude v proměnné a a v proměnné b po následujících operacích:

a = 10

b = 20

a = b


Test proměnných

Další příklad:

Test stringů

Datové typy v Pythonu

V jazyku Python se nedefinují datové typy. Každá - jinak bezejmenná - proměnná si přiřadí vlastní datový typ.

Příklad:

a = "Hello world"

> Do proměnné a se načte "Hello world" jako string. V momentě, kdy by uživatel chtěl pracovat s proměnnou a jako s číslem, překladač vyhodí chybu.


Přetypování

Převedení datového typu na jiný datový typ.

Pokud ve vstupu do programu vložíte do proměnné cisloJakoString hodnotu "10", uloží se také jako string, pro přístup k ní jako k číslu se musí použít tzv. přetypování.

Příklad:

a = int(cisloJakoString)



Zdrojový kód

Zdrojový kód ke stažení - datove_typy.py


#Základní proměnná a její výpis
a = "Hello world"
print(a)

#Přetypování
cisloJakoString = input("Zadej číslo: ")
a =  int(cisloJakoString)
print (a)

#Funguje to i bez přetypování, proč?
cisloJakoString = input("Zadej číslo: ")
a =  cisloJakoString
print (a)

#Tohle už vyhodí chybu
cisloJakoString = input("Zadej číslo: ")
a =  cisloJakoString
b = 10
print (a + b)

#Správné řešení je takto
cisloJakoString = input("Zadej číslo: ")
a =  int(cisloJakoString)
b = 10
print (a + b)

#Co když vám ale uživatel do vstupu nezadá číslo?