Pojďme společně nahlédnout 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.
Vývojář, lektor a konzultant Vladimír Macek vyznává to, co je jednoduché, přímočaré a elegantní. To ho vedlo v roce 1996 k užívání a později zakázkové správě Linuxu stojícím na dekádami prověřenému konceptu UNIX a k práci v jazycích bash a C. V roce 2003 objevil jazyk Python, což mu umožnilo se posunout více k vývoji skriptů a aplikací zpracovávajících data. Později přibyl webový framework Django, který uzavírá trojici výkonných nástrojů podporujících svižnou, čistou a bezpečnou realizaci přání klientů. Dále dodává firmám školení na míru a konzultace jejich vnitřního IT fungování. Má za sebou i výuku na školách a nyní z většiny pracuje na volné noze, částečně pak pro sdružení CESNET.
Probereme pokročilá témata samotného jazyka Python, která jej 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 a 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 ději o neznámém počtu iterací, dotkneme se i konstruktů funkcionálního typu.
To vše může sloužit tomu, že vývojář jako puzzle skládá program, který je ve výsledku velmi stručný, čitelný – zároveň vykazuje velké schopnosti a je jednoznačný, protože v Pythonu je ve skutečnosti pravidel poměrně málo. Snaží se o unifikovaný model.
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!
O jazyku obecně
Používání Pythonu je zcela svobodné a bezplatné. Díky své jednoduchosti a síle pronikl do oblastí mimo programování; mezi specialisty mj. na správu systémů, 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.
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 přístupný každému.
Kurs je veden lektorem, který Python od roku 2003 intenzivně používá na různorodých projektech svých klientů i 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.
Předpokládá se absolvování předchozího kurzu „Python pro zvídavé“. Samostatné experimentování v mezičase též velmi pomůže.
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
Poznámka
Školení bude předváděno v Linuxu na počítači, kde Vám bude k dispozici i systém Windows. Jeho použití je však bez podpory školitele. Pokud s Linuxem nemáte zkušenosti, nemusíte se vůbec obávat. V povědomém grafickém uživatelském rozhraní se s pomocí během pár minut zorientujete.
29. srpna 2014
9:00–16:00
Školicí místnost Internet Info
Milady Horákové 116/109, Praha 6, 160 00
Pavla Hettnerová
Executive Support
e-mail: pavla.hettnerova@iinfo.cz
telefon: 778 412 840
Internet Info Root.cz (www.root.cz)
Informace nejen ze světa Linuxu. ISSN 1212-8309
Copyright © 1998 – 2019 Internet Info, s.r.o. Všechna práva vyhrazena.