Ú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¶
print("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