Hlavní navigace
Toto školení již proběhlo. Podívejte se na připravovaná školení.

Python je jednoduchý, praktický a stále oblíbenější nástroj. Používají jej nejen programátoři, ale i ostatní, kteří pracují s počítačem. Pomocí Pythonu si můžete automatizovat práci, rychle přenést nápady a požadavky do fungujících programů či spojovat existující systémy. A samozřejmě mnohem více. Python například používají úspěšné projekty jako YouTube, Dropbox, Instagram či Seznam.

Co se na školení naučíte

Kurs je veden lektorem, který Python od roku 2003 intenzivně používá na různorodých projektech svých klientů i svých vlastních. Bude kladen primární důraz na praxi, individuální experimentování a realizaci ilustrativních příkladů. V případě zájmu je možná i diskuse nad zkušenostmi či inspirativními problémy z praxe. 

Vše je možné se naučit samostatně a Python tomu nestaví žádné překážky. Ale poslechnout si člověka, který má s Pythonem dlouholeté praktické zkušenosti, znamená velkou výhodu. Podívejte se na hlavní vlastnosti a přednosti jazyka Python:

  • je to svobodný nástroj, který jde stručně a jasně rovnou k věci
  • nemusíte se ho dlouho učit
  • používá se na celém světě
  • je k dispozici prakticky na všech počítačových platformách
  • když budete potřebovat pomoci, najdete přátelskou a ochotnou komunitu

Pro koho je školení určeno

Toto školení je ideální pro firmy, kde samostatně pracují (nejen) programátoři na různých projektech. Školení je vhodné pro úplné nováčky, začátečníky i zkušené programátory. Nováčci už od prvních setkání s jazykem dostávají nápady, jak jej ve své praxi efektivně použít. Programovací jazyk Python je překvapivě jednoduchý, velmi praktický a nadčasový. Jeho použití se rychle rozšiřuje, v současnosti patří k nejoblíbenějším programovacím jazykům. V praxi jej používají programátoři i samouci. Často bez teoretických základů si usnadňují a účinně automatizují práci.

Nejste-li programátor a o tomto jazyce slyšíte poprvé, zeptejte se na Python některého programátora. Budete překvapeni, kolik lidí Python používá, aniž by jej pořádně znali. I proto je dobré takové samouky proškolit, aby byli ještě výrazně efektivnější.

Používat Python je radost
Používání Pythonu je zcela svobodné a bezplatné. Díky své jednoduchosti a síle pronikl i do oblastí mimo programování; mezi specialisty mj. na správu serverů, testování a kontrolu kvality, obecné zpracování dat, matematiku a exaktní vědy, byznys, výrobu, grafiku a vizuální efekty či mikroelektroniku jakožto vynikající prostředek pro experimentování, vývoj, rozšiřování nebo integraci. Podívejte se na impozantní seznam úspěšných využití v desítkách oblastí.

Možnost načrtnout za několik minut svůj nápad, otestovat si ho, hrát si s ním a za další chvilku ho rozpracovat a finalizovat je fantastická. Největším kladem je, že pracovat v Pythonu je potěšení. Je jednoduchý a přístupný každému.

Potřebné znalosti účastníka

Povědomí o programování a fungování počítačů bude nezanedbatelnou výhodou.

Náplň školení

První fáze – teoretické základy

V první fázi položíme teoretické základy, naučíte se psát v jazyce samotném, pochopíte jeho filosofii, osvojíte si jeho vyjadřovací prvky (kterých není mnoho), poznáte, jak se provádí program, s jakými daty umí pracovat a jak si rozumí s okolím.

Python Introduction

  • How to find Documentation
  • Using the Python Interpreter
  • Python Informally

Statements – Program Flow Control
Data Structures

  • Constants
  • Numbers
  • Strings
  • Sequences
  • Sets and Mapping Types

Operations

  • String Formatting
  • Defining Sequences
  • Playing with Data Types
  • Comprehensions
  • Looping Techniques
  • Truth Value Testing
  • Comparison and Ordering
  • Sorting Data
  • Defining Functions
  • Working with Files - open()

Built-ins

Druhá fáze – praktický Python

V druhé fázi společně pohlédneme na praktické součástky Pythonu jako jsou např. moduly, výjimky, dědičnost, iterátory a generátory či dekorátory; zmíníme vhodný styl psaní kódu. Samotný jazyk však k úspěchu nestačí. Pro užitečnou praxi je třeba mít přehled o přibalené standardní knihovně. Pomocí ní pythonisté radikálně šetří čas a sjednocují svou práci.

Zabrousíme i do pokročilých témat, která Python ukážou jako skutečně vysokoúrovňový jazyk se zajímavými vlastnostmi jako je vícenásobná dědičnost, správa kontextů pro pohodlné a dobře čitelné alokace či bezpečné dealokace prostředků.

Ukážeme, jak dělit program do modulů a balíků, jak ošetřit chyby, jak pracovat s opakujícími se ději o neznámém počtu iterací, dotkneme se i konstruktů funkcionálního typu.

Třetí fáze – práce s knihovnou

Součástí balíku Pythonu je také rozsáhlá tzv. standardní knihovna, ve které jsou (většinou přímo v Pythonu) implementovány stovky užitečných funkcí a tříd – stavebních kamenů pythonských aplikací. Knihovna shromažďuje a zdarma nabízí výsledky tisíců hodin duševní práce chytrých lidí ve formě standardizovaných řešení každodenních úkolů (má-li program komunikovat na standardních protokolech, pracovat s daty, organizovat a ukládat je, ovládat periferie počítače, je-li potřeba program ladit, zkoumat uvnitř, pracovat s operačním systémem buď abstraktně nebo s konkrétně daným atp.).
Jde to i bez knihovny, ale z jakého důvodu? Když si necháte ukázat, co už existuje, nebudete to při práci muset sami vymýšlet a kolegové v týmech si vás budou cenit.
Na Internetu jsou k dispozici další tisíce hotových modulů přímo použitelných ve vlastních programech, které nabízejí řešení úkolů z nejrůznějších oborů lidské činnosti.
Bude-li zájem o závěrečnou diskusi, dojde i na ni. Lektor se nebojí zabrousit i do vzdálenějších témat!

Advanced topics

  • Unicode
  • Modules, Packages
  • Lambda expression
  • Decorators
  • Errors and Exceptions
  • Classes, Inheritance etc.
  • Super, Resolution order
  • Iterators and Generators, Gen. Expressions
  • Coding style

Exercises
Standard Library Modules

  • String Services
  • Data Types
  • File and Directory Access
  • Data Persistence (Databases)
  • Data Compression and Archiving
  • File Formats
  • Cryptographic Services
  • Operating System Services
  • Interprocess Communication and Networking
  • Structured Markup Processing Tools (HTML, XML)
  • Internet Protocols and Support, Internet Data Handling
  • Other Modules