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í
×
dnes 12:00 | Nová verze
Po roce a půl od vydání verze 0.63 (zprávička) byla vydána verze 0.64 populárního telnet a ssh klienta PuTTY. Nejnovější verze řeší bezpečnostní problém a přináší například možnost sdílení SSH spojení. Podrobnosti v seznamu změn.
Ladislav Hagara | Komentářů: 2
dnes 12:00 | Komunita
Pořadatelé Libre Graphics Meeting 2015 jako každý rok tradičně žádají o finanční podporu. Vybrané finanční prostředky půjdou na snížení cestovních nákladů jednotlivých účastníků. Podpořit lze na pledgie.com.
xkomczax | Komentářů: 0
dnes 01:11 | Nová verze
Po 2 letech a 10 měsících od vydání verze 4.10 (zprávička) vyšla verze 4.12 odlehčeného desktopového prostředí Xfce. Přehled nových vlastností i s náhledy v Xfce 4.12 tour. Podrobnosti v Changelogu. Finančně lze Xfce podpořit na Bountysource.
Ladislav Hagara | Komentářů: 8
včera 17:20 | Nová verze
Vyšla verze 2.2.0 multiplatformního multimediálního přehrávače VLC s kódových jménem WeatherMax. VLC vyšlo poprvé současně, i když v jiných verzích, také pro iOS, Android (včetně Android TV), WinRT (Windows RT a x86) a Windows Phone. Z novinek lze zmínit automatickou rotaci videí natočených mobilním telefonem vertikálně (Vertical Video Syndrome, YouTube), možnost pokračování přehrávání od místa, kde bylo předchozí přehrávání ukončeno, podporu nových HD kodeků, VP9, opus a H.265/HEVC nebo stahování rozšíření a titulků přímo z VLC.
Ladislav Hagara | Komentářů: 10
27.2. 10:05 | Pozvánky
Ahojte kóderi, všimli sme si, že mnohí z vás chcú ísť aj na Rubyslavu, ktorá sa koná v rovnakom termíne ako sme pôvodne zvolili aj my. Aby ste nič nezmeškali, rozhodli sme sa posunúť termín prednášky. Radi vás všetkých uvidíme na prednáške AMD: Alebo ako som sa prestal báť a naučil milovať JavaScript 11. marca o 19:00 v Spote. … více »
Vacuumlabs | Komentářů: 19
27.2. 10:00 | Zajímavý článek
Dan Gillmor, americký publicista, autor knih We the Media a Mediactive, uvádí v článku na Medium důvody, proč dává sbohem Applu, Googlu a Microsoftu a proč používá GNU/Linux a CyanogenMod. Přiznává ale také, že Google Maps i Windows občas použije.
Ladislav Hagara | Komentářů: 11
27.2. 09:55 | Pozvánky
Vážení přátelé, zveme vás na nekonvenční hackathon, který jsme připravili ve spolupráci s ČSOB. Půjde o první hackathon v Praze na kterém si budete moci zblízka osahat téma počítačové bezpečnosti, respektive toho, jak ji monitorovat. A to netradiční formou, kterou, jak věříme, udeříme na strunu toho, co vás zajímá. ČSOB připravilo jedinečné REST JSON API, které poskytuje informace o aktuálně probíhajících kyberútocích po celé ČR. V čase … více »
Honza Kopecký | Komentářů: 0
26.2. 17:00 | Nová verze
Byla vydána verze 2.9 bitmapového grafického editoru Krita. Podrobnosti a videoukázky v poznámkách k vydání. Kódové jméno nejnovější verze je "the Kickstarter Release". Kampaň na Kickstarteru přinesla nadaci Krita 19955 €.
Ladislav Hagara | Komentářů: 0
26.2. 11:11 | Zajímavý článek
Na crowdsourcingovém portálu Crowd Supply probíhala do konce ledna kampaň na podporu výkonného notebooku Librem 15 respektujícího svobodu a soukromí uživatelů. Kampaň byla úspěšná na 170 %. Notebook lze objednat i po skončení kampaně. Aktuálně je vybráno přes 426 tisíc dolarů. Dle společnost Purism stojící za notebookem byly hardwarové komponenty vybrány tak, aby bylo možné používat pouze svobodný software. Článek na blogu vývojářů … více »
Ladislav Hagara | Komentářů: 31
25.2. 20:50 | Nasazení Linuxu
Společnost Symple oznámila prodej repasovaných počítačů s Ubuntu 14.04 LTS za 89 $. Skříň počítače je vyrobena z recyklovaného plastu. Uvnitř je procesor P4 na frekvenci 2,8 GHz nebo lepší, disk s kapacitou minimálně 80 GB a minimálně 2 GB paměti RAM. Symple poskytuje na počítače záruku 1 rok a za každý prodaný počítač věnuje open source komunitě 2 $. [reddit]
Ladislav Hagara | Komentářů: 49
Disketu jsem naposledy použil během
 (38%)
 (3%)
 (12%)
 (43%)
 (3%)
Celkem 2308 hlasů
 Komentářů: 64, poslední 22.2. 06:31
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: 1085× | 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-2015 Nitemedia s. r. o. Všechna práva vyhrazena.