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í
×
včera 21:33 | Komunita
Vývojový tým OpenSSL informuje na svém blogu o plánu změnit licenci kryptografické knihovny OpenSSL. Aktuálně je knihovna licencována pod duální licencí - licence OpenSSL a licence SSLeay - obě typu BSD. V plánu je přechod na Apache License, verze 2. Aby to bylo možné, budou muset téměř všichni přispěvatelé podepsat CLA (Contributor License Agreement).
Ladislav Hagara | Komentářů: 0
včera 19:19 | Zajímavý projekt
Pro zájemce o Retro ThinkPad (zprávička) je k dispozici již čtvrtý dotazník. David Hill z Lenova se tentokrát ptá na předinstalovaný operační systém, uzavírání víka, logo a jeho orientaci, výdrž baterie nebo trackpoint. Současně zveřejnil výsledky předchozího dotazníku. Pořád lze vyplnit první, druhý i třetí dotazník.
Ladislav Hagara | Komentářů: 3
včera 17:44 | Komunita
CEO Mozilly Chris Beard napsal otevřený dopis CEO Microsoftu Satya Nadellu. Nelíbí se mu, že po aktualizaci Windows na Windows 10 uživatel přijde o některá nastavení. Jako výchozí webový prohlížeč je nastaven Edge, bez ohledu na předchozí nastavení. Volba výchozího prohlížeče ve Windows 10 je navíc ztížena tím, že pro ni nefunguje API – výchozí prohlížeč je potřeba změnit přímo v nastavení systému, prohlížeč jej může pouze otevřít. [Mozilla.cz]
Ladislav Hagara | Komentářů: 7
včera 12:21 | Zajímavý článek
Na Fedora.cz vyšlo pokračování článku věnovanému programovacím jazykům a knihovnám, které mohou být vhodné pro výuku programování a taktéž základů počítačové grafiky. Zatímco první část se zabývala nástroji vhodnými spíše pro mladší děti (první stupeň ZŠ), druhá část popisuje některé pokročilejší nástroje použitelné i na druhém stupni pro tvorbu komplexnějších projektů, včetně počítačových her (LÖVE, Pygame, Pyglet, sdlBasic, FreeBasic).
Ladislav Hagara | Komentářů: 0
včera 11:18 | Upozornění
Dnes 31. 7. 2015 slavíme System Administrator Appreciation Day. Pokud vaše síť a servery šlapou jako hodinky, je vhodné podarovat svého systémáka nějakou dobrotou či malým dárkem. Admini se mohou naopak v diskuzi pochlubit, jakou odměnu dostali :-).
Prcek | Komentářů: 13
včera 08:00 | Pozvánky
Ve čtvrtek 20.8. 2015 se koná na pražském Žižkově akce pro všechny milovníky moderních technologií - #UCLday. Během dne proběhnou přednášky na témata Internet of Things, Vývoj pro Android, iOS a Windows 8. Za navštívení budou stát také krátké laby, kde si budete moci vyrobit vlastní aplikaci pro Apple Watch nebo Android Wear. K vyzkoušení bude řada různých robotů a gadgetů z oblasti Open Hardware a Internet of Things a prohlédnout si bude možné… více »
UCL | Komentářů: 6
30.7. 15:00 | Zajímavý článek
Vyšlo (pdf) šestatřicáté číslo anglicky psaného časopisu MagPi věnovanému Raspberry Pi a projektům postaveným na tomto jednodeskovém počítači. Poprvé na 100 stránkách a také jako papírový časopis za 5,99 £.
Ladislav Hagara | Komentářů: 0
30.7. 12:22 | Komunita
Po třech týdnech od vydání verze 222 (zprávička) oznámil David Herrmann vydání verze 223 správce systému a služeb systemd. Lennart Poettering následně oznámil, že ve dnech 5. až 7. listopadu 2015 proběhne v Berlíně systemd.conf 2015, třídenní konference věnovaná pouze systemd.
Ladislav Hagara | Komentářů: 23
30.7. 10:29 | Komunita
GitHub smazal projekt WebMConverter, kvůli „nevyhovujícímu“ slovu „retards“ v popisku. … více »
Bystroushaak | Komentářů: 94
30.7. 10:08 | Bezpečnostní upozornění
PC World (a mnoho dalších) upozorňuje na novou funkci Windows 10 "Wi-fi Sense", která umožňuje snadno sdílet hesla k Wi-fi sítím s kontakty a "přáteli" na sociálních sítích. Funkce sice existovala už ve Windows Phone 8.1, ale vzhledem k jejich malému rozšíření se do popředí pozornosti dostává až teď. Máte-li příbuzné a známé používající Windows 10, rozmyslete si dobře, zda jim sdělíte heslo ke své wi-fi síti.
Michal Kubeček | Komentářů: 31
Nešifrované HTTP
 (4%)
 (96%)
Celkem 5474 hlasů
 Komentářů: 62, poslední 17.7. 21:48
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: 1106× | 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: 44 | 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-2015 Nitemedia s. r. o. Všechna práva vyhrazena.