Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor k článku
Novinky v jazyce Python 3.0

Jan Švec
Jan Švec (neregistrovaný)
8. 12. 2008 8:51

Faktické chyby

celé vlákno
Dobrý den pane Štrauchu,
se zájmem jsem přečetl váš článek a v ničem mě nepřekvapil - přesně jak jsem čekal je psaný horkou jehlou. Nechci vám sahat do svědomí, ale chtěl bych vědět, proč pro vytvoření seznamu z iterátoru neustále používáte konstrukci l=[x for x in iterable]? Není lepší zapsat l=list(iterable)?

Další naprosto fatální chyba - ukázka práce s dictionary (slovníky). Zkoušel jste si onen příklad s for x in d.keys().reverse(): v Pythonu 2.x? Pravděpodobně ne, protože byste zjistil, že on ani ve 2.x nefunguje. Problém je v tom, že metoda seznamu reverse() provádí otočení pořadí v místě a vrací None. A další pro mě velice důležitá věc - můžete mi naznačit případ z praxe, kde jste potřeboval otočit pořadí klíčů z dictionary? Ona dictionary totiž drží klíče neřazené a tudíž není zaručeno, že voláním keys() získate vždy tutéž posloupnost.

Další věcná chyba byla u příkladu s řazením - to řazení, které jste napsal pomocí str.lower() je bez ohledu na velikost písmen!

Další vaše fatální pochybení je u odstavce porovnávajícím bytes a str typy. Zapomněl jste zmínit změnu nejzásadnější - typ bytes je proměnný (mutable) typ, čili ho nemůžete použít jako klíče do slovníku! Typ str je oproti tomu neměnný. Důsledky z toho vyplývající si pravděpodobně domyslíte.

Nehci vám sahat do svědomí, ale mohu se zeptat kolik kódu jste napsal v Pythonu 2.x? A kolik v 3.x?

Omlouvám se všem za "rýpavý" příspěvek, ale takto nepřesný článek hned poránu mě pěkně nadzvedl ze židle. Přeji pěkný den,

Jan Švec