[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