2. Stručný úvod#

Cílem kurzu je seznámit se s programovacím jazykem Python, zejména s jeho praktickým využitím pro vědecké a inženýrské účely.

2.1. Proč Python?#

Python je dnes jedním z nejoblíbenějších jazyků vůbec (1. na Tiobe index v únoru 2024). Je jasně nejvíce používaným jazykem pro data science a ve vědecké a inženýrské komunitě hraje čím dál důležitější úlohu. Nutno říci, že zaslouženě!

Základní vlastnosti Pythonu#

  • Dynamicky typovaný jazyk.

  • Silně typovaný (strongly typed) jazyk.

  • Čistě interpretovaný jazyk, který běží ve vlstním virtuálním stroji (VM - Virtual Machine).

  • Obsahuje garbage collector, který využívá reference counting.

  • Obsahuje rozsáhlou vestavěnou knihovnu modulů a funkcí.

  • Svobodná licence (Python Software Foundation License – PSFL).

2.2. Filozofie Pythonu#

Filozofie (Zen) a vlastnosti Pythonu jsou založeny na

  • co nejjednodušší a čitelné syntaxi,

  • více programovacích stylů (paradigmat): objektově orientované programování, strukturované programování, funkcionální programování, aspektově orientované programování,

  • rošiřitelnosti,

  • silných konvencích (které jsou často přednější než samotná sytaxe).

Více najdete v PEP 20 – The Zen of Python

Takto vypadá “Hello world! v Pythonu#

print("Hello world!")
Hello world!

2.3. Historie#

Historie sahá do roku 1980, implementaci zahájil v roce 1989 Guido Van Rossum. Ten byl donedávna hlavní postavou (tzv. Benevolent Dictator for Life—BDFL) Python komunity. V současnosti dohlíží nad vývojem Pythonu Python Steering Council a Python Software Foundation. Vydání Pythonu v datumech:

  • Python 1.0 - 1994

    • Python 1.6 - 2000

  • Python 2.0 - 2000

    • Python 2.7 - 2010

  • Python 3.0 - 2008

    • Python 3.12 - 2023

Python 2 vs. 3#

Python 3 napravil některé neduhy, které vypluly na povrch v Pythonu 2 – viz http://docs.python.org/3.0/whatsnew/3.0.html. V současnosti je Python 3 jediná aktivně podporovaná a používaná verze jazyka Python. Není ani potřeba vědět o rozdílech mezi Pythonem 2 a 3.

Další Pythony#

Python jakožto jazyk je jeden, existuje však více implementací jeho interpreteru (t.j. programu, který zpracovává a vykonává příkazy). Referenčním interpreterem je v C napsaný CPython, dostupný z www.python.org. Ostatní implementace se k němu vztahují a snaží se o kompatibilitu.

  • PyPy - implementace Pythonu v… Pythonu, která může být díky JIT kompilaci rychlejší než CPython.

  • MicroPython - implementace Pythonu pro mikrokontroléry, která je dostatečně malá a rychlá pro využití v embedded systémech.

  • Pyodide - Python v prohlížeči, který běží na WebAssembly. Tak mohly nedávno vzniknout velice zajímavé projekty jako JupyterLite nebo PyScript.

  • Jython - implementace Pythonu v Javě, která umožňuje používat objekty (a knihovny) Javy z Pythonu.

  • IronPython - implementace Pythonu pro .NET, která umožňuje využívat možnosti prostředí .NET.

Celkem přehledné vysvětlení toho, co je který “Python” zač, nalezenete v článku Why are there so many Pythons?.