abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
24.10. 22:52 | Nová verze
Vývojáři Raw editoru RawTherapee vypustili verzi 4.2. Ta obsahuje nové nástroje (například barevné tónování, simulaci filmu), přidává podporu pro nové fotoaparáty a přináší řadu výkonnostních a paměťových optimalizací.
Marián Kyral | Komentářů: 12
24.10. 09:39 | Nová verze
Laboratoře CZ.NIC dnes vydaly novou verzi (1.6.0) autoritativního DNS serveru Knot DNS. Tato verze přináší podporu perzistentních časovačů pro události zóny (refresh, expire a flush), jejichž stav bude zachován i během restartu serveru. Zároveň se jedná o verzi s prodlouženou dobou podpory (LTS, Long-Term Support). Více informací naleznete na poštovní konferenci Knot DNS Users.
Vilem Sladek | Komentářů: 17
24.10. 01:23 | Zajímavý projekt
Studio Weybec ve spolupráci s Blender Institute představilo krátký pětiminutový open-source film Monkaa (YouTube). Film byl vytvořen pomocí Blenderu, GIMPu a dalšího otevřeného softwaru. Zájemci o datové soubory uvolněné pod licencí CC-BY si mohou zakoupit DVD nebo předplatit přístup do Blender cloudu.
Ladislav Hagara | Komentářů: 21
23.10. 21:30 | Nová verze
Bylo vydáno Ubuntu 14.10 s kódovým jménem Utopic Unicorn. Ke stažení jsou k dispozici Ubuntu Desktop a Server, Ubuntu Cloud Server, Ubuntu Netboot, Ubuntu Core, Kubuntu, Lubuntu, Ubuntu Studio, Ubuntu GNOME, Ubuntu Kylin, Xubuntu a Mythbuntu. Podrobnosti v poznámkách k vydání.
Ladislav Hagara | Komentářů: 0
23.10. 14:08 | Zajímavý článek
Ovladač čipů FTDI pro Windows naštval spoustu uživatelů čínských napodobenin tím, že u těchto napodobenin mění ProductID v EEPROM na 0, čímž zabrání jejich fungování nejen ve Windows, ale i v Linuxu.… více »
David Šmíd | Komentářů: 145
22.10. 23:34 | Komunita
V Düsseldorfu proběhla minulý týden GStreamer Conference 2014, tj. konference vývojářů multimediálního frameworku GStreamer. Videozáznamy přednášek jsou k dispozici na portálu UbiCast's WebTV.
Ladislav Hagara | Komentářů: 0
22.10. 12:32 | Zajímavý článek
Satya Nadella, CEO Microsoftu, ve svém vystoupení věnovaném cloudové platformě Microsoft Azure (Wikipedia) zmínil také Linux. Přímo řekl, a v prezentaci zdůraznil, že Microsoft má rád Linux (Microsoft ♥ Linux, webcast, 13:55). Důvod je jasný. Linux běží na 20 % Azure.
Ladislav Hagara | Komentářů: 26
22.10. 10:48 | Pozvánky
GDG Prague a GDG Unicorn College pořádá v sobotu 1.11.2014 od 9:30 v Praze celodenní Dart + Polymer Hackathon. … více »
Gug.cz | Komentářů: 0
21.10. 00:36 | Nová verze
Vyšel Emacs 24.4. Mezi novinky patří vestavěný webový prohlížeč (M-x eww), podpora více monitorů, celoobrazovkový mód, digitální podpis balíčků, podpora menu v textovém terminálu či nový blokový mód. Více informací v oznámení nebo v historii viditelných změn na stránce projektu.
little.owl | Komentářů: 24
20.10. 19:57 | Pozvánky
Jana Moudrá Vás 15. listopadu v budově Pilsfree v Plzni seznámí s novým skriptovacím jazykem Dart. Uvidíte spoustu ukázek a bude i prostor pro diskusi. Během následující codelab si můžete nabyté zkušenosti procvičit. … více »
hacup | Komentářů: 0
Disketu jsem naposledy použil během
 (44%)
 (0%)
 (22%)
 (33%)
 (0%)
Celkem 18 hlasů
 Komentářů: 2, poslední dnes 00:17
Rozcestník
Reklama
Autoškola testy online Levný benzín

Mám python ještě radši než dřív.

30.5.2008 17:58 | Přečteno: 1070× | poslední úprava: 30.5.2008 18:04

Dalsí kousek pythoního kódu, na který jsem pyšný.

Nejsem pyšný na sebe, nejde o nic složitého ani objevného. Jsem pyšný na python, protože jsem zase jednou zjistil že jsem neudělal chybu, když jsem se vybodnul na Javu.

O co jde ? Potřebuji předem neznámou datovou strukturu serializovat do ekvivalentního pythoního kódu. Není to žádná raketová věda, ale čekal jsem spoustu otravování s tím, aby byl výsledek syntakticky košer, aby to pobralo vnořené struktury, aby se to dalo snadno rozšiřovat o nové datové typy. Když jsem se konečně přinutil přestat "psát Céčko v pythonu" a začal "přemýšlet v pythonu", vyplynulo to samo, s jednoduchostí a samozřejmostí, která mi ještě ted bere dech.

# convert data to code
import types

data2code = {
    types.DictType: lambda x: "{" + ", ".join(["%s: %s" % (textualize(k), textualize(v)) for k,v in x.items()]) + "}",
    types.TupleType: lambda x: "(" + ("".join([ textualize(i)+", " for i in x ])) + ")",
    types.ListType: lambda x: "[" + (", ".join([ textualize(i) for i in x ])) + "]",
    types.StringType: lambda x: '"%s"' % x,
    types.UnicodeType: lambda x: '"%s"' % x,
    types.IntType: lambda x: str(x),
    types.BooleanType: lambda x: str(x),
    types.NoneType: lambda x: "None",
}

# shorthand for converting of given val
def textualize(val):
    return data2code[type(val)](val)
       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

30.5.2008 18:51 spang
Rozbalit Rozbalit vše Re: Mám python ještě radši než dřív.
Ehhh, znáš funkci repr() ?
repr(object)

Return a string containing a printable representation of an object. This is the same value yielded by conversions (reverse quotes). It is sometimes useful to be able to access this operation as an ordinary function. For many types, this function makes an attempt to return a string that would yield an object with the same value when passed to eval().

rADOn avatar 30.5.2008 19:08 rADOn | skóre: 43 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Mám python ještě radši než dřív.
Znám, bohužel háček je v tom For many types. Součástí jsou i nestandartní data, jmenovitě xmlrpc/fastrpc typy a ty mají s implementací __repr__() vážný problém. Z kódu který jsem postnul jsem je pro jednoduchost vynechal.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
Nikola Ciprich avatar 30.5.2008 19:45 Nikola Ciprich | skóre: 22 | blog: NiX_blog | Bohumín
Rozbalit Rozbalit vše Re: Mám python ještě radši než dřív.
ty lambdy jsou tam trosku zbytecne, co takhle:

types.BooleanType: str

;)
Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
30.5.2008 23:38 CEST
Rozbalit Rozbalit vše Re: Mám python ještě radši než dřív.
Chapu to dobre, ze tahle funkce dela to same jako v perlu Data::Dumper nebo v PHP serialize? BTW: mas u toho retezce osetreny, kdyz bude obsahovat uvozovky?
1.6.2008 17:21 vlasta neubauer
Rozbalit Rozbalit vše Re: Mám python ještě radši než dřív.
nevím co dělá Perlovský Data::Dumper, ale v PHP jde s píše o ekvivalent funkce var_export(). serializace je trošku něco jiného. tady jde o konverzi na validní kód, ne o konverzi na 'prostý' text.

Založit nové vláknoNahoru

ISSN 1214-1267   Powered by Hosting 90 Server hosting
© 1999-2013 Argonit s. r. o. Všechna práva vyhrazena.