LinuxDays 2024

Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

Základy Pythonu, ale pro srdcaře (tedy v C)
2024-10-13 , 107
Language: Čeština

Programování v Pythonu je snadné a rychlé. Některé vtipy dokonce tvrdí, že pro létání stačí "import antigravity". Využití Pythonu je populární ve spoustě odvětvích včetně vědy a datové analýzy. Co se rychle napíše, ale může počítat věky. Složitý algoritmus nebo zpracování velkého množství dat může v Pythonu trvat nepříjemně dlouho... Co s tím? Existují přístupy, jak část programu optimalizovat a využít rychlost kompilovaných jazyků. Přednáška ukáže, jak vytvořit Python modul v jazyce C a pak ho importovat v Python skriptu. Samotný interpreter Pythonu (CPython) je napsán v C, a proto i používání běžných Python objektů v C je docela hračka. Propojme to nejlepší z obou světů – snadné programování v Pythonu s výkonem kompilovaných jazyků!


Přednáška ukáže, jak urychlit Python kód pomocí jazyka C a Python C API. Pomocí C API je možné ve zdrojových kódech v C využívat datové struktury a volat funkce, které Python běžně obsahuje. Zároveň je možné v C napsat modul, který lze v Python skriptu importovat a používat. Přednáška postupnými kroky vysvětlí, jak Python vlastně funguje uvnitř. Ukážeme si, co je potřeba pro implementaci Pythonu modulu a objektu s několika metodami. Vysvětlované principy a příklady budou opřeny o veřejnou dokumentaci Pythonu, aby se v ní posluchači zorientovali a mohli se pustit při zrychlování svého Python kódu i do složitějších projektů.

Přednáška vysvětlí základy, a proto by se jí začátečníci rozhodně neměli zaleknout. Na druhou stranu se předpokládá alespoň základní znalost jazyka C, protože Python - to je samá "struct-ura" (nebo "object"?) a ukazatel na ni. ;-)


Difficulty

Pokročilí

See also: Prezentace (887.7 KB)

Tomáš Čejka je odborníkem v oblastech monitorování vysokorychlostních sítí a síťové bezpečnosti. Působí ve sdružení CESNET jako vedoucí týmu výzkumníků a vývojářů, manažer výzkumných projektů, občas i jako vývojář. Mezi další významné aktivity patří vzdělávání a vedení studentů (vč. doktorandů) na Fakultě informačních technologií ČVUT v Praze. Na fakultě se věnuje výuce předmětu "Hardwarově akcelerované monitorování síťového provozu" a vedení řady bakalářských a diplomových prací studentů, které sdružuje pod vlastní Laboratoří monitorování síťového provozu (https://netmon.fit.cvut.cz/).