[python] Dekorátor
Róbert Čerňanský
hslists na zoznam.sk
Úterý Únor 22 21:34:43 CET 2011
On Mon, 21 Feb 2011 14:00:26 -0800 (PST)
Radek <radek.hnilica na gmail.com> wrote:
> Co mě opravdu dostalo, a to jsem měl chuť projít stropem, byla práce
> s časem. Potřeboval jsem jednoduchou věc, vzít časovou/datumovou
> informaci od uživatele a udělat z ní časový objekt. Ke své hrůze
> jsem zjistil, že to tak nějak nejde.
[...]
> že to umí metoda strptime a je to popsáno v dokumentaci. Opětovně
> po několikáté jsem velmi pečlivě četl tu stránku v dokumentaci a
> nechápal, protože strptime je na tohle absolutně nepoužitelná.
Ono, strptime naozaj konvertuje reťazec do datetime:
>>> datetime.strptime("22. 2. 2011", "%d. %m. %Y")
datetime.datetime(2011, 2, 22, 0, 0)
Ale možno si potreboval niečo sofistikovanejšie, čo odhadne formát
automaticky a pod.
> I chtěl bych třeba, k danému objaktu, znát všechny metody a
> vlastnosti co má. A neumím nikde najít takový přehled. Takový
> přehled jako má například dokumentace k Ruby. Nakliknout si
> Modul/Objekt a dostanu metody. Nakliknu metodu a mám podrobný popis
> k čemu že vlastně slouží, jak se jí dávají parametry a ukázkou
> několika použití.
Pythonovský shell IDLE vie po stlačení Ctrl+Medzerník za bodkou
zobraziť zoznam členov daného objektu. Taktiež môžeš napísať
help(<objekt>) a dostaneš výpis jeho členov aj so stručnými popismi.
Prípadne help(<funkcia>) zobrazí jej, v drvivej väčšine bohužiaľ
stručný, popis. Klikať sa dá v browseri keď pustíš príkaz „pydoc
-g“, ale sú to tie isté stručné popisy, čo pre help(). :-( Tiež by
som privítal aby API dokumentácia bola podrobnejšia.
Ja rád používam shell PyCrust, ktorý je súčasťou wxPython. Okrem
dopĺňania (ponuky členov objektu) a tooltipov s helpom umožňuje
zobraziť aj zdroják k objektu ak je v Pythone.
Viac ma ale trápi to, že operácie, ktoré sa dajú s daným typom objektu
robiť treba hľadať na niekoľkých miestach. Hlavne je nevýhoda, že
Python má kopec „voľne pohodených“ built-in funkcií a keď chcem vedieť
operácie napr. s listom, tak okrem jeho metód sa ešte musím prehrabať
množstvom built-in funkcií, ktoré zďaleka nie sú všetky o liste. Plus
treba pozrieť modul itertools.
> Něco jak seznam.join(','). Tohle je naštěstí tak profláknuté, že už
> jsem si zapamatoval že v Pythonu je join metoda toho ',' a ne toho
> pole.
Tak nie som jedný, komu sa zdá, že to má Python opačne. :-)
Robo
--
Robert Cernansky
E-mail: hslists na zoznam.sk
Jabber: hs na jabber.sk
Další informace o konferenci Python