[python] dokumentace k novejsim rysum jazyka
David Rohleder
davro na ics.muni.cz
Pondělí Březen 8 11:43:48 CET 2010
Jirka Vejrazka píše v Po 08. 03. 2010 v 10:05 +0100:
> > Který nový rys pythonu od verze 2.0 vám přijde zajímavý, případně
> > užitečný? (iterátory, generátory, dekorátory, atd.)
>
> Vsechny zminene, k tomu jeste mnoziny ( set() ) a par internich veci.
> Ale mne drzi u Pythonu dve zakladni veci:
> - vyborna citelnost ciziho kodu diky kontroverznimu odsazovani
> - obrovsky rozsah externich modulu a funkci, ktere jsou dostupne. Pro
> mne od nizkourovnovych veci na siti (scapy, impacket, dpkt, dnet) pres
> kompletni sitove frameworky (twisted) az po webove frameworky (Django
> apod.)
>
> Zminuju to jenom proto, ze ve svetle techto dvou velkych vyhod me
> jednotlive "nelogicnosti" jazyka nechavaji chadnym. Nelibi se mi treba
> ''.join(neco), ale jsem ochotny si na to zvyknout, beru to jako dan
> za pohodli v ostatnich vecech.
Mne fascinuje dynamické vytváření funkcí, akorát teda nevím, jak to
dělají, příklad u XML-RPC. Na serveru jsou definované přes XML-RPC
nějaké služby, tj. funkce a najednou mám ty funkce i ve svém vlastním
programu, aniž bych je musel nějak definovat:
(funkce listblockedIP a blockIP jsou metody definované na serveru a
ServerProxy opravdu nemá nadefinované metody listblockedIP a další)
====
import xmlrpclib, sys
url = "http://localhost:8765/"
s = xmlrpclib.ServerProxy(url)
blkdIP = s.listblockedIP()
print blkdIP
print s.blockIP( 126, 6, 4, 5)
====
Říkal jsem si, že je to udělané pomocí slovníku, třeba takto:
class Test:
pass
def fce():
print "Test"
a=Test()
a['funkce'] = fce
a.funkce()
ale takto to nějak nefunguje.
D.
Další informace o konferenci Python