Dátové typy v Pythone

Každý programovací jazyk obsahuje nejaké dátové typy. Programovací jazyk Python má tieto základné dátové typy: integer, float, str.

  • integer – celé čísla. Rozsah závisí od konkrétnej verzie Pythonu. Väčšina iných programovacích jazykov má viacero druhov celých čísel, ktorých rozsah závisí od počtu bytov, ktorý konkrétny typ zaberá a programátor si zvolí pre premennú taký typ, ktorý by mal v aplikácii na vstupoch a výstupoch postačovať. V Pythone túto pamäťovú optimalizáciu vykonáva samotný interpreter. Verzia 3.6.0 úspešne zvládla vypočítať aj 2^{100000}. S celými číslami pri sčítaní, odčítaní a násobení  Python pracuje presne, ak nedošlo k prekročeniu rozsahu.
  • float – čísla s pohyblivou desatinnou čiarkou (v Pythone sa namiesto čiarky používa bodka). Ak chcete poznať parametre práce s typom float vo vašom systéme zadajte nasledujúce príkazy (na mojom NB sú parametre, ako je vypísané modrým písmom):
    >>>import sys
    >>> sys.float\_info
    \color{blue}sys.float\_info(max=1.7976931348623157e+308, max\_exp=1024, max\_10_exp=308, min=2.2250738585072014e-308, min\_exp=-1021, min\_10_exp=-307, dig=15, mant\_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
    Max je najväčšie číslo float,  min je najmenšie číslo float rôzne od nuly, dig  je počet platných číslic, epsilon je epsilonové okolie čísla 1, všetky čísla  z tohto okolia sa zmenia na číslo 1. Podrobnejšie informácie nájdete na tejto stránke.
  • decimal – desatinné čísla, je potrebné importovať modul decimal, vnútorná reprezentácia čísel s pohyblivou desatinnou čiarkou sa v rôznych verziách Pythonu môže líšiť a hoci sa nejaké číslo zobrazuje napr. ako 0.1, jeho skutočná hodnota sa môže mierne líšiť. Keď napríklad zadáme nasledujúci príklad, namiesto nuly dostaneme nenulový výsledok:
    >>> 0.1 + 0.1 + 0.1 - 0.3
    \color{blue}5.551115123125783e-17
    Keď použijeme modul decimal, program bude s desatinnými číslami počítať so stanovenou presnosťou:
    >>> from\, decimal\, import *
    >>> getcontext().prec = 6
    >>> Decimal(1) / Decimal(7)
    \color{blue}Decimal('0.142857')
    >>> getcontext().prec = 28
    >>> Decimal(1) / Decimal(7)
    \color{blue}Decimal('0.1428571428571428571428571429')
    Príkaz getcontext().prec = 6 nastavuje s akou presnosťou má program počítať.
print

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *