Přejít k navigační liště

Zdroják » Různé » Python 3: Úspěšný ponor

Python 3: Úspěšný ponor

Články Různé

CZ.NIC vydalo v rámci své knižní edice třetí knihu, tentokrát o Pythonu. Editor sáhl po knize Marka Pilgrima „Dive Into Python 3“. A je na místě říct, že i tentokrát byl editorský výběr šťastný a s Dive Into Python 3 se dostává českému čtenáři do rukou kniha velmi kvalitní a poměrně nevšední.

V posledním měsíci jsem četl dvě perfektní programátorské knihy – „1001 PHP tipů“ od Jakuba Vrány a „Ponořme se do Python(u) 3“ od Marka Pilgrima, přeloženou a vydanou péčí sdružení CZ.NIC. Obě jsou v určitém slova smyslu výjimečné, a jejich výjimečnost spočívá v tom, že nejsou jen suchými seznamy informací. O té první teprve budu psát, v tomto článku se budu věnovat té druhé.

Na úvod dovolte trošku kontextu, aby čtenáři bylo jasné, z jakého hlediska knihu hodnotím. S Pythonem jsem dlouho osobně sváděl nerovný boj. Když u mne převážilo znechucení z nekonečného psaní PHP kódu nad radostí z toho, že to je všude a funguje to na 80 % hostingů, tak jsem hledal jazyk, který bych mohl použít na „malé drobné práce“ i na web. Rozhodoval jsem se mezi Pythonem a Ruby, ptal jsem se lidí z oboru, co by doporučili, a aby se mi lépe rozhodovalo, nakoupil jsem si ke každému několik dostupných knih (tehdy to byly tuším dvě pro Python a jedna pro Ruby).

Knihy o Pythonu

První kniha o Pythonu, na jejíž název si už nevzpomínám, mě zklamala a otrávila. Naprostého začátečníka, který neví, co je příkaz a co výraz a jak funguje smyčka, by možná oslovila (pokud by jej neunudila). Druhá kniha s českým názvem Začínáme programovat v jazyce Python mi byla doporučena jako „fakt dobrá“ knížka o Pythonu. Musím přiznat, byla lepší. O něco málo…

Obě knihy ale měly jednu velkou, z mého pohledu bráno, nevýhodu: byly psány takovým tím stylem, kdy je téma nejprve rozvláčně teoreticky rozpitváno („toto je řetězec… ukažme si ještě několik řetězců… toto je taky řetězec… toto je prázdný řetězec, což je taky řetězec… a toto je velmi dlouhý řetězec…“) a na konci kapitoly na vás autor vychrlí seznam nejdůležitějších funkcí a zaflekuje to tabulkou „méně důležitých nejdůležitějších funkcí“. Pokud už máte zkušenosti s nějakým programovacím jazykem, není vám tento styl výkladu nic platný; ze třiceti stránek jedné kapitoly jich dvacet osm nemusíte číst, a dvě jsou tak nabité informacemi, že jsou vlastně taky nanic, protože takto podané informace „nezažijete“.

Až jednou budu používat Python pravidelněji, pak si možná v „Začínáme programovat…“ opět zalistuju a počtu si o vytváření COM komponent, o Tk či o integraci Pythonu s JVM (opravdu takhle „začínáme programovat“?) Ale rozhodně mě ta kniha nenalákala k tomu, abych si sedl a začal dělat praktické pokusy s Pythonem. Co bych vlastně dělal? „Normalizace matic“? Tím jsem si prošel před čtvrt stoletím, kdy jsem nadšeně psal programy pro výpočet objemu a obvodu koule na programovatelné kalkulačce…

Dive into Mark

Když jsem při cestě vlakem vzal do ruky „Ponořme se do Python(u) 3“ (vydalo sdružení CZ.NIC v roce 2011), nevěděl jsem, co mám očekávat. S autorovým stylem psaní jsem se setkal už v Dive Into HTML5 a připadal mi velice příjemný a lehce stravitelný, ale to ještě nic neznamená. Otevřel jsem knihu a začetl se.

Předmluva jasně specifikuje, o čem bude řeč: Nikoli o Pythonu jako takovém, ale především o jeho třetí verzi, která je poměrně zásadně odlišná od verzí předchozích; kniha zdůrazňuje hlavně tyto odlišnosti a probírá především to, co je jiné. Paradoxně to je do určité míry výhoda pro čtenáře jako jsem já – základy Pythoní syntaxe mám, pár skriptů jsem už viděl či napsal, nemusím číst kapitoly o n-ticích a slovnících, protože vím, jak vypadají, jen se stále nemám k tomu to nějak prakticky použít, protože mě to nechytlo.

 U první (lépe řečeno „nulté“) kapitoly jsem byl trochu na rozpacích – screenshoty z instalace Pythonu 3 – ale asi tam být musí. V kapitole 1 je čtenář hozen „in medias res“ a konfrontován s Pythonským kódem. Pokud znáte, jako já, základy, bude vám po dvojím přečtení zhruba jasné, co kód dělá. Na dalších stránkách se dozvíte, že vám to bylo jasné správně, a čtenář se nenásilně přitom seznamuje se základními věcmi: Jak se deklarují funkce, jak se volají, kde se hledají soubory pro import, co jsou objekty, jak se pracuje s výjimkami, a další základní informace.

Už v této kapitole autor používá velmi pěkný styl výkladu, kdy je každá věc vysvětlena na zdrojovém kódu, který je opatřen poznámkami ([1], [2], [3], …), a ty jsou bezprostředně za kódem rozepsané, některé jen pár slovy, jiné celým odstavcem. Jsou vždy v místě, kde se „děje něco zajímavého“. Velmi rychle si na takový styl zvyknete (a velmi rychle si uvědomíte, jak v jiných obdobných knihách něco podobného chybí).

Druhá kapitola pak představuje základní datové typy, a rozsah je opět odpovídající situaci, kdy „znáte jiný jazyk a máte lehké ponětí o Pythonu“. Autor nemučí čtenáře výkladem něčeho, co čtenář zná, pouze představuje, sumarizuje a na praktických ukázkách ukazuje věci, co jsou „jinak“ či „nezvyklé“ (např. novinka Pythonu 3 – změna práce s řetězci).

Ve třetí kapitole autor skočí od teorie k praktické ukázce – totiž práci se soubory a souborovým systémem, a k tomu (možná trošku neorganicky) připasoval generátory slovníků, seznamů a množin. Další kapitoly jsou věnovány práci s řetězci a regulárními výrazy.

Šestá kapitola začíná příkladem: funkcí, která k podstatnému (anglickému) jménu vytvoří jeho množné číslo. Existuje na to sada pravidel. Autor ukázal „naivní“, doslovnou implementaci, kterou postupně refaktoruje pomocí uzávěr a postupů z funkcionálního programování (generátor funkcí). V další kapitole logicky „odskakuje“ k iterátorům, a aby je mohl vysvětlit, vysvětlí při jednom i třídy.

A v kapitole deváté…

Seznam kapitol a jejich obsahu je mor recenzí, přesto jsem si jej do jisté míry neodpustil (a proto jsem jej v půlce utnul). Bylo na místě ho tu takto zmínit, hlavně jako ilustraci neortodoxního postupu výkladu, který ignoruje klasické „skriptové“ postupy (míněno VŠ skripta) „od jednoduchého ke složitému, od částí k celku…“ Namísto toho máte dojem, že si povídáte s kamarádem nad jeho programem v Pythonu a říkáte: Hele, jak funguje tohle? A kamarád odpovídá: No, to je generátor funkcí. To je ti taková zajímavá věc, sleduj…

Tento dojem posiluje fakt, že Mark Pilgrim píše odlehčeným a snadno čitelným stylem (PHPčkaři si mohou třeba představit články Davida Grudla). Jeho výklad není suchopárný a utopený ve větách ze školních učebnic; je živý, čtivý a zábavný, aniž by sklouzával k familiernosti, bulvárnosti či křečovitosti. Takže když na konci knihy ukazuje, jak převáděl svou knihovnu z Pythonu verze 2 do Pythonu verze 3, závěrečné testy uvodí slovy „Tož možeme to otestovať?“ a (úspěšný) výsledek okomentuje slovy „No to mě podrž, ono to funguje. /me si trošku zatancuje“, tak máte dojem, jako by seděl autor vedle vás v kanceláři a ten oslavný taneček opravdu předvedl. 

Právě schopnost dobře dávkovat humor, vstupovat osobně do výkladu a vůbec psát „lehkým perem“ je na autorově stylu asi to nejcennější. Za sebe mohu říct, že jsem za poslední rok přečetl zhruba desítku odborných knih, ale žádnou tak rychle a s takovou chutí, jako Dive into Python 3. Tato kniha má totiž styl, který možná vážným lidem bude připadat nepatřičný a odborného materiálu nedůstojný, ale u mne měl jednoznačně pozitivní efekty.

Zaprvé: Od textu jsem se nemohl odtrhnout – půlku knihy jsem přečetl na jeden zátah při cestě vlakem, zbytek pak za jeden podvečer. Nestalo se mi, jako u „odborně suchých“ knih, že mi začaly myšlenky bloudit jinam. Zadruhé: Během čtení jsem měl čím dál větší chuť si sednout a něco v Pythonu 3 naprogramovat. Tento efekt vyzní nejlíp při srovnání s obecným stavem – posledních několik let jsem „programoval pouze pod pohrůžkou přímého násilí“, rozhodně ne s chutí a radostí. U Dive Into Python 3 jsem měl pocit, že by mě to mohlo zase bavit. No a konečně zatřetí: Při čtení jsem si uvědomoval, že mi to celé dává smysl, že tomu rozumím, že to má logiku a že se mi to takto líbí. Jinými slovy řečeno – kde u jiných knih dělám „hm…“, tam jsem u této dělal „Aha!“

Programování nespočívá v psaní příkazů…

Známý aforismus jsem si vypůjčil pro ilustraci části obsahu, kterou jsem nezmínil výš. Kniha totiž kromě informací o jazyku jako takovém přesahuje i do oblastí nad syntaxi: k čistému kódu, k testování, refaktorizaci… (a to má společné s, v úvodu zmíněnou, knihou Jakuba Vrány) Takže už na straně 51 píše autor o čistém kódu a dokumentačních řetězcích, aniž by z toho dělal cokoli navíc: „Napíšete funkci, ta má hlavičku, tělo a dokumentační řetězec“. Tak prosté a samozřejmé. Žádné „pokud chcete“, „měli byste“ a „zamyslete se“…

V půlce knihy autor plynule přejde k jednotkovému testování pomocí unittest a refaktorizaci. Opět nenuceně a samozřejmě – je to součást psaní knihoven. Testování v podání Marka Pilgrima není ani práce navíc, ani nuda, ani problém, ale samozřejmá a logická součást vývoje, a po přečtení příslušných kapitol vás ani nenapadne, že byste takovouhle (samozřejmou) věc nedělali.

Ke konci knihy autor ukazuje rozdíly mezi verzemi 2 a 3. Ilustruje je na automatizovaném převodu knihovny z Pythonu verze 2 do verze 3 pomocí nástroje 2to3, a testy jsou mu při tom neocenitelným pomocníkem. (Rozdílům mezi verzí 2 a 3 je věnována i příloha, opět koncipována nikoli jako seznam změn, ale jako seznam věcí „co se rozbije, proč a jak to vyřešit“).

A abychom měli seznam obsahu kompletní, tak si ještě v rychlosti povězme, co je v knize dál: Informace o práci se soubory, o práci s XML, o serializaci pomocí pickle či JSON, o knihovnách pro práci s internetem (httplib2 a další), jedna kapitola je věnována distutils, vytváření balíčků a jejich publikaci přes PyPI, a jedna z příloh popisuje „magické metody“ (to jsou ty s podtržítky před a za jménem).

Styl…

Možná to někomu nemusí vyhovovat. Někomu bude víc vyhovovat věcný, „školský“ výklad. Jsme lidé různí a naše paměť se liší – někdo si lépe pamatuje souvislosti, někdo si namemoruje text, někdo si vybaví, že „když si četl o téhle pasáži, tak autobus projížděl okolo takového baráku s modrými okny“. Nedá se říct, že Dive Into Python 3 je pro každého nebo že se každému bude líbit. Mně osobně nejvíc pomohla v tom, že mi dala impuls: ano, tenhle jazyk mi dává smysl. Neotrávila mi Python školometskými suchopárnými poučkami. Byla záživná, přesto informačně obsáhlá, a dobře se mi četla. A to se počítá!

Pokud tedy hledáte spíš motivaci a impuls než sumu informací, kterou si chcete natlačit do hlavy, sáhněte po této knize. Pokud váháte, jestli se učit ten či onen jazyk, sáhněte po této knize. Pokud znáte Python 2 a hodilo by se vám vědět, co všechno na vás přichystala trojka, opět mohu tuto knihu doporučit. Nedozvíte se z ní naprosto všechny informace a vše do posledního detailu, ale – od toho jsou manuály. A sáhněte po ní klidně i jen tak, když si chcete „počíst o programování“ trošku záživnější formou, než jakou nabízí man.

Zpracování českého vydání

Zpracování zaslouží pochvalu; překlad zachoval autorův originální rukopis i pěknou práci se zdrojovými kódy. Písmo mi připadalo při čtení prvních stránek poměrně drobné, ale po chvíli jsem si zvykl. Kladně hodnotím i to, že v papírové podobě zůstal seznam odkazů na doporučenou literaturu; občas ale zaúřadoval redakční šotek, a tak lze v knize narazit např. na kuriózní větu ve smyslu „… více se dozvíte v tomto dokumentu (PDF)“, z níž člověk cítí, že v originále byl „tento dokument (PDF)“ opatřen odkazem na patřičný soubor ke stažení; bohužel vypadl.

Výhradu mám k překladu názvu knihy. Originál „Dive into Python 3“ byl přeložen jako „Ponořme se do Python(u) 3“. Zde mám dojem, že překladatel vybíral ze dvou ošklivě znějících variant „… do Python 3“ a „… do Pythonu 3“, až nakonec editor zvolil kompromis, který má z obou variant to horší. Závorka v titulu knihy mi připadá jako hodně nešťastná věc, ale možná jde pouze o můj dojem, podpořený asociací s „Dějinami VKS(b)“.

Distribuce

CZ.NIC i u této knihy zůstal věrný svému přístupu „digitálně ke stažení zdarma“. Takže pokud chcete, můžete si knihu stáhnout ve formátu PDF (např. i z naší knihovničky). Pokud chcete přeci jen papírovou, můžete si ji koupit přímo na stránce CZ.NIC (a zaplatit buď 459 nebo 399 Kč, to podle toho, zda jste připojeni přes IPv4 nebo IPv6). Další možností je číst Zdroják – pro pět z vás máme tuto knihu připravenou, stačí se zapojit do soutěže (pokud vám utekla soutěž na Rootu). 

Soutěž o knihy Ponořme se do Pythonu 3

Jak můžete získat jednu z pěti knih?

Dvě knihy získají (navíc k honoráři) autoři, kteří v průběhu března napíšou původní článek o nějaké zajímavosti v Pythonu pro Zdroják (viz Jak psát pro Zdroják), pošlou ho a článek bude schválen k vydání. Bude-li jich víc, dostanou knihu první dva autoři; rozhodující bude den schválení. (Témat je více než dost, od seznamu hostingů s Pythonem přes vytváření nativních aplikací s Pythonem až např. po porovnání instalačních nástrojů – pip, setuptools atd…)

Dvě knihy jsou připravené pro ty uživatele, kteří přes webové rozhraní vloží největší počet (schválených) Zpráviček.

Jedna kniha je vyhrazena pro zaregistrovaného autora nejzajímavějšího komentáře na téma „proč, jak, odkud… bych přešel na Python?“ Nabídka platí pouze pro zaregistrované, na které máme v systému kontakt, komentáře od neregistrovaných čtenářů nebudou do soutěže zařazeny. Výherce bude vybrán na základě „pochvalných“ reakcí ostatních uživatelů; při podezření na manipulaci vybereme v redakci.

Redakce si vyhrazuje právo knihy, které nebudou použity jako odměna (např. nikdo nenapíše článek), rozdělit komentujícím registrovaným čtenářům dle vlastního uvážení.

Uzávěrka soutěže je 31.3. 2011

Knihy do soutěže poskytl správce národní domény CZ.NIC. Děkujeme.

Na samotný závěr dovolte jednu poznámku, směřovanou na vydavatele, kteří brojí proti elektronickým knihám argumentem „pokud to bude zdarma na webu, tak si knížku už nikdo nekoupí“ – podle vyjádření CZ.NIC se všechny knihy prodávají v papírové podobě velmi dobře, i když jsou na webu legálně ke stažení, a konstantní zájem o tištěnou verzi překvapil i samotného vydavatele

Komentáře

Subscribe
Upozornit na
guest
29 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Čelo

A ta kniha pro Ruby byla která?

corwin78

Opravdu vynikající kniha, sám se z ní teď programovat v Pythonu učím. Zatím podle PDF, ale opravdu se mi líbí tak, že si zřejmě koupím i papírovou verzi.

Rubysta

Co přesně Vás na PHP štvalo (třeba se shodneme)? Neřešily by to některé dnešní frameworky?

Rubysta

Na tom se určitě shodneme. V dnešní době opravdu nemá cenu takové věci řešit, když tu jsou hráči jako Django a Rails, kt. Vám umožní se soustředit opravdu jen na daný problém.

Mennion

Tohle bych řekl, že je stav každého webového vývojáře, kterého už přestalo bavit dělat pořád dokola weby.

Sám sem se do podobného stavu dostal též. Pořád dokola řešit ty samé problémy. Částečně to řeší různé frameworky, ale v zásadě je to pořád to samé :)

Na tohle pomůže jen začít se zabývat něčím jiným, než je obyčejné bastlení webů.

Rubysta

Máte nějaký tip? :-)

plistiak

:) nie zlý nápad. Len si nie som istý, koľko šéfredaktorov by Zdroják mohol mať ;)

Srigi

Za seba napisem, ze robim webapp (nie nejake stranky) v Nette 2.0 (GIT) a je to velmi pohodlne. Neviem ako ostatni, ale vseliake scaffoldingy a admin generatory mi nechybaju. Na databazu pouzivam NotORM s tenuckym wrapperom.

Trosku ale zacinam plavat nad JS castou aplikacie. jQuery uz nepostacuje a v poslednej dobe sa objavilo kopec kniznic (Head.js, Barebone, _, Closure). Nikde nie je mozne najst nejakeho sumarneho clanku/tutorialu ako pristupovat ku klientskej casti aplikacie, mobilnej verzii webu a JS a pod.

Mennion

Jo jo dobrý framework dokáže hodně problémů odstínit :)

Nicméně také sem se setkal s tím, že stránka byla narvaná ajaxem, javascriptem, tunou jquery pluginů a komu se to pak chce spravovat

Bohužel v současné době moc alternativ není :)

Mennion

Tak já osobně teď dělám v silverlightu aplikačku, wpf, java applety nemusí být špatné, určitě bych si rád někdy vyzkoušel nějakou složitější hru atd :)

Ale je pravda, že dneska se všecko táhne na web :(

v2kt0r

Silverlight? To je to, kde navstevnik neuvidi vubec nic, dokud se neuvoli stahnout si (dalsi) plugin – pokud pro jeho prohlizec nejaky existuje? Kde kdyz nema prava neco instalovat (kazda firma s dobre spravovanymi Windowsy), zustane viset v prvni fazi, totiz ze neuvidi vubec nic?
To uz ale hosku nedelas web…

Mennion

Kdyby si pořádně četl, tak nemusíš psát podobné příspěvky. Psal jsem, že jsem poslední dobou znuděný a otrávený právě s tvorbou webu => proto se snažím programovat i pro něco jiného než jsou klasické webové stránky, portály etc.

Na ty zbylé bláboly odpovídat ani snad nebudu

blizzboz

máš pravdu SL neni určený dementom.

Twiguard

Python je asi to nejlepsi, co me kdy potkalo. V dobe, kdy me programovani uz zacinalo nudit a trochu stvat jsem zacal skriptikovat pro zabavu v Pythonu a to me u programovani drzi dodnes.
Zacinal jsem s PHP, JS, Javou, trochu vyzkousel C/C++, ale presel jsem na Python a ten mi nahradil vse. Kde se neda Python pouzit primo, tam existuje nejaky prekladac.
A zacinal jsem se ho ucit prave s Dive into Python (PDF v anglictine).
Dnes v Pythonu krom skriptu delam aj GUI aplikace (PySide) aj webove aplikace (Django, Pyjamas).

tdvorak

Jo, s tim musim souhlasit. Taky jsem zhruba pred pul rokem zacal scriptovat v pythonu a narozdil od javy je to radost psat :) Skvelej je treba modul BeautifulSoup, roboti na prochazeni a parsovani webu jsou pak hracka.

Jiří Kosek

Jestli vám vadila Java na psaní, je tu Groovy. Syntaxe podobná jako Python, Ruby, … s možností používat javové třídy, běží nad JVM.

tdvorak

Ne ze by mi java nejak extra vadila, jen to neni takova radost psat, ale i tak je 90% meho kodu java :) Groovy znam, na spoustu veci je to super vec. Pouzivame jej v projektu vedle klasicke javy, integrace neni problem. Takove generovani XML je v nem krasa (MarkupBuilder). Ale na spoustu jednoduchych veci je scriptovani v pythonu prijemne. Myslim veci jako jsou pluginy pro nagios, jednoduche scripty, kdy shell je moc nizkourovnovy, ruzne parsery dat, crawlery stranek… Obecne na veci kde neni velka navaznost na dalsi systemy, jde o par radek kodu a casto se meni.

Mintaka

Tak tak, taky jsem stál na pomezí, dal jsem si čas a 2 roky hledal jazyk, kterým bych chtěl mluvit s počítači. Během těch dvou let jsem kromě Delphi, PHP, JavaScriptu, FreePascalu, Ansi C, …, se kterými jsem dělal dřív, vyzkoušel Javu (rovnou u Herouta na KIV), C++, C#, Dčko, Ruby a pár dalších, nakonec jsem zakotvil u Pythonu a jsem za to i po těch letech rád.

Dive into Python mi v mnoha ohledech vyhovuje, na některé věci jsem si zašel sáhnout jinam. Třeba:

OReilly – Python Programming on Win32 (Hammond, Robinson)(2000)
Thinking in Python (Bruce Eckel)(2002)
Wiley – Mobile Python Rapid prototyping of applications on the mobile platform (Scheible, Tuulos)(2007)
Beginning Game Development with Python and Pygame(Will McGugan)(2007)

Turnovec

Kniha vypadá zajímavě, ale je škoda, že v elektonické podobě je k dispozici pouze ve formátu PDF. Docela rád bych si jí přečetl na svém Kindlu. Ten sice ne že by neuměl PDF, ale není to zrovna pohodlné…

Pokud to má být motivace k tomu, abych si knihu koupil („buď zadarmo PDF, nebo plať“), tak já bych i byl ochotný za knihu v elektronické podobě ve formátu Mobipocket zaplatit. Např. u O’Reilly je většina knih v PDF, Mobipocket a ještě pár dalších formátech a že už jsem u nich za ebooky utratil peněz…

Jinak co si tak prohlížím to PDFko, tak si říkám – tu sazbu asi nedělal žádný profesionál – jinak by nadpisy nebyly podtržené… Nebo je to tak v originálu a tohle je snaha zachovat co nejvíc z originálu?

Turnovec

Přišlo mi, že autor originál generoval z nějakého XMLka, kromě PDF se dá stáhnout i v HTML. Čekal bych, že tento zdrojový soubor byl použit i pro překlad… Udělat MOBI třeba z HTML by bylo úplně v pohodě.

Z metadat výsledného PDF se ale zdá, že je to z InDesignu…

Snad existoval i nějaký nástroj pro vytváření MOBI z projektů InDesignu, ale už nevím, kde jsem to viděl.

Ale když už tedy někdo použije takový profi nástroj, jako je InDesign, tak v tom případě ale tím spíš nechápu takové zásadní typografické prohřešky. Očekával bych, že s InDesignem bude pracovat už někdo, kdo o typografii trochu ví. Koukat se na to, jak to podtržení jde přes dolní části písmen jako p, g, j je fakt za trest…

Taky mi přijde zvláštní, že v originálu jsou obrázky (screenshoty) v barvě, ale u české verze si dal někdo tu práci, že je odbarvil…

Abych jenom nekritizoval – je skvělé, že se do toho překladu někdo pustil a i to, že je to takto zdarma. A než mi někdo začne říkat „Darovanému koni na zuby nekoukej“, tak znova opakuji – za verzi ve formátu MOBI jsem ochoten i zaplatit.

Jinak pokud vím, NIC.CZ to vydávání knih stejně nedělá proto, aby na nich vydělal, ale naopak, aby utratil peníze, které vydělává na doménách a neztratil status neziskovky, ne? Tak pokud už nevědí, co s penězi a pouštějí se do vydavatelské činnosti, fajn, ale ať to za ty peníze aspoň dělají pořádně. :-)

helb

InDesign umí export do epub, s tím už by se dalo něco dělat.

Draho

Začíná mne to velice zajímat, ale zatím nechápu jak je to s připojením Pythonu na databázi. U PHP je to jasné, ale u Pythonu ?

Martin Putniorz

U Pythonu je to podle mě ještě jasnější http://wiki.python.org/moin/DatabaseProgramming/

r

zdravim, mozem este odporucit tento velmi podareny projekt http://www.sqlalchemy.org/

Mintaka

#takove malé databázovské Hello Data

import MySQLdb

db = MySQLdb.connec­t(host=““, db=““, user=““, passwd=““)
cursor = db.cursor()
cursor.execute(„““SE­LECT * FROM tabulka“““)
rows = cursor.fetchall()
print rows

Honza

Mam dotaz,
po stazeni knizky na Python mi to nezobrazuje ten vlozeny font a tim i podstatne casti textu. Je chyba jen u me?
Diky moc
Honza

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.