Programování

Zde se primárně nachází poznámky o programování v jazyce Python. Okrajově bych se chtěl věnovat také jazyku Wolfram a MATLAB, příležitostně také IT oboru obecně a aktuálnímu tématu AI.


Python - základní charakteristika


  • Python je v současné době nejlepším jazykem pro ty, kteří se nechtějí živit jako programátoři, ale jejich profese či zájem je nutí jednou za čas něco naprogramovat.
  • V současnosti ale také sílí komerční aplikace tohoto jazyka.
  • V roce 2023 byl python 3. nejpoužívanějším programovacím jazykem.
  • Užívaný kromě jiného pro vývoj webových aplikací, datovou analýzu a strojové učení.
  • Python byl pojmenován podle komediální skupiny Monty Python.
  • Python má dynamický typový systém, nepřiřazuje proměnným neměnné typy (integer, string, float..), ale umožňuje typ měnit za chodu programu. To je umožněno tím, že v Pythonu je vše objekt a proměnná je pouze ukazatel na tento objekt.
  • Přetypování hodnoty vede k vytvoření nového objektu. Mezi různými datovými typy jsou vyjímečně umožněné operace. Výjimka je třeba násobení stringu integerem.
  • Primárně je Python objektově orientovaný a vše je v něm implementováno jako objekt, hodnoty, kontejnery, funkce i třídy. Python ale umožňuje i jednoduché procedurální programování, a v omezené míře i funkcionální programování.
  • V Pythonu jsou všechna data objekt: číslo, seznam, funkce, třída i modul. Každý objekt má svůj datový typ.


Vybrané datové typy Pythonu

  • Čísla: int, bool, float, complex, Decimal, Fraction
  • Neměnné sekvence: str, tuple, bytes
  • Měnné sekvence: bytearray, list
  • Množiny: set, frozenset


"Měnné objekty mohou změnit svou hodnotu, neměnné nemohou a proto mohou sloužit jako klíč do slovníku.

Čísla typu float v Pythonu (a většině programovacích jazyků) jsou reprezentována podle standardu IEEE 754 pro plovoucí desetinnou čárku (floating-point arithmetic). Tento standard definuje formát pro uložení reálných čísel a provádění aritmetických operací s nimi, aby bylo zajištěno, že výsledky jsou konzistentní a předvídatelné napříč různými počítačovými systémy. Datový typ float má dvojitou přesnost (64-bit), odpovídá tedy datovému typu double v C.

Tento datový typ nedokáže všechna konečná desetinná čísla ukládat přesně, kvůli jejich nekonečnému rozvoji. V desítkové soustavě to známe třeba u zlomku 1/3, který je 0,3333 a dál až do nekonečna. V počítači jsou čísla uložena v dvojkové soustavě a u ní dochází také k nekonečnému rozvoji některých zlomků, ale jinému než v desítkové soustavě, takže to na první pohled není poznat. Například 1/10, tedy číslo 0.1 je v paměti počítače uloženo nepřesně. Ta nepřesnost je velmi malá, že není u jednoduché nepřesnosti vidět, ale jejich sčítáním se nepřesnost zvyšuje, až tato vidět je a může ovlivnit běh programu..

..Pro potřeby přesného počítání proto máme v Pythonu i modul fraction a decimal pro přesné výpočty, které jsou ale pomalé." - Wiki