Ú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.

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).

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

In [2]:
print("Hello world!")
Hello world!

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?.

Komentáře

Comments powered by Disqus