Operátory a datové typy¶
(Nejen aritmetické) operátory slouží k operacím nad hodnotami. Funkce jednotlivých operatorů je samovysvětlující, některé jsou trochu více nezvyklé, ale jasné:
Symbol |
Příklad |
Popis |
---|---|---|
+, -, *, / |
1 + 1 |
Základní aritmetika |
- |
-5 |
Negace |
/; % |
7 / 2; 7 % 2 |
Dělení se zbytkem (celočíselné dělení); zbytek |
** |
3**2 |
Umocnění (3 na druhou) |
Příklady toho jak fungují operátory nad různými datovými typy:
>>> 1 + 1
2
>>> 'Ahoj ' + 'světe!'
'Ahoj světe!'
>>> 1 - 1
0
>>> 'Ahoj ' - 'světe!'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'str'
>>> print("Už nikdy nebudu psát kód 2x\n" * 100)
Už nikdy nebudu psát kód 2x
Už nikdy nebudu psát kód 2x
Už nikdy nebudu psát kód 2x
Už nikdy nebudu psát kód 2x
...
>>> 7%2
1
>>> 9**9
387420489
Další důležité operátory jsou operátory porovnávací
Symbol |
Příklad |
Popis |
---|---|---|
==, != |
1 == 1, 1 != 1 |
Je rovno, není rovno |
<, > |
3 < 5, 3 > 5 |
Větší než, menší než |
<=, >= |
3 <= 5, 3 >= 5 |
Větší nebo rovno, menší nebo rovno |
Výsledkem porovnávání je booleanovská hodnota True
nebo False
(pravda/nepravda).
Příklady logických operátorů:
>>> 1 < 1
False
>>> a = 1
>>> b = 5
>>> a = b # POZOR - přirazení - a teď obsahuje hodnotu 5
print(a, b)
>>> a = 1
>>> a == b
False
>>> a != b
True
Datové typy¶
Počítače potřebují k uložní čísel a řetězců určité množstí paměti. Proto, abychom mohli V programovacích jazycích a databázích proměnné a data efektivně ukládat, jsou zavedeny různé datové typy, které zabírají optimální množství paměti v počítači.
Nejméně paměti zabere booleanovská hodnota Pravda/Nepravda nebo-li
True
aFalse
Dalším datovým typem je celé číslo integer
Dále číslo s plovoucí desetinnou čárkou float
Textový řetězec nebo-li string zabírá ještě více místa
Poznámka
Datových typů je více a v různých programovacích jazycích a databázích jsou různé. Formát DBF je omezen na číslo, číslo desetinné a text, databáze PostgreSQL rozlišuje celou řadu datových typů.
Python nám dává nástroje (funkce) pro převod mezi datovými typy, některé už jsme
viděli float(), int()
a int()
:
>>> int(3.3) # nezaokrouhluje - vždy odstraní hodnotu za desetinnou tečkou
3
>>> str(1)
>>> float('pí je 3.14')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: pi je 3.14
>>> float('3.14')
3.14
S dalšími více komplexními datovými typy se budeme seznamovat postupně dále.
Jaký má proměnná datový typ zjistíte rychle pomocí funkce type()
:
>>> type(1)
<class 'int'>
>>> a = 'elce pelce'
>>> type(a)
<class 'str'>
Poznámka o textových řetězcích¶
Textové řetězce musí být uzavřeny do uvozovek - ať už jednoduchých '
nebo
dvojitých "
(některé jazyky odlišují význam obou uvozovek, ale v Pythonu mezi
nimi není rozdíl).
Pokud chcete do textového řetězce vložit nějaký speciální znak, např. nový
řádek, musíte použít tzv. escape sekvenci - předřadit znak zpětného lomnítka
před vlastní znak. Nejčastěji se používá znak pro nový řádek \n
:
print("Jeden řádek\ndruhý řádek")
Pokud chcete napsat tabulátor, použijete \t
a pokud chcete napsat zpětné
lomnítko, použijete podle stejné analogie \\
.