[python] Buducnost Pythonu: lambda, map, filter
Roman Miklos
RMiklos na pss.sk
Pátek Listopad 10 15:10:04 CET 2006
ok tak callmeback...
A ako urobim bez lambda nejaku funkciu, ktora mi vrati funkciu?
Napriklad toto:
>>> def linear(c):
return (lambda x: c*x)
>>> f1=linear(1)
>>> f2=linear(5)
>>> for x in range(5):
print "f1(%d)=%d, f2(%d)=%d" % (x,f1(x),x,f2(x))
f1(0)=0, f2(0)=0
f1(1)=1, f2(1)=5
f1(2)=2, f2(2)=10
f1(3)=3, f2(3)=15
f1(4)=4, f2(4)=20
Pavel Kosina <geon na post.cz>
Sent by: python-bounces na py.cz
10.11.2006 14:23
Please respond to
Konference PyCZ <python na py.cz>
To
Konference PyCZ <python na py.cz>
cc
Subject
Re: [python] Buducnost Pythonu: lambda, map, filter
Roman Miklos napsal(a):
> 2) callbacky pri widgetoch v Tkinteri:
> * Ak je ten callback jednoducha funkcia a pouzije sa iba raz napriklad
pri
> jednom buttone, naco ju definovat sepratane pre cely skript, ked ju
staci
> zadefinovat cez lambda iba na tom mieste kde sa pouzije.
>
> * callback s argumentom - t.j ak chces napr. pouzit ten isty callback
pri
> viacerych buttonoch, napr.
> def callback(n):
> print "button", n
>
> Button(text="jeden", command=lambda: callback(1)).pack()
> Button(text="dva", command=lambda: callback(2)).pack()
> ...
>
def callback(n):
print "button", n
from functools import partial as callmeback
Button(text="jeden", command=callmeback(callback,1).pack()
Button(text="dva", command=callmeback(callback,2).pack()
--
geon
Pavel Kosina
_______________________________________________
Python mailing list
Python na py.cz
http://www.py.cz/mailman/listinfo/python
Mgr. Ing. Roman MIKLÓ©
Prvá stavebná sporiteµňa a.s.
Bajkalská 30, P. O. Box 48
829 48 Bratislava 25
Tel.: +421/ 2 / 582 31 174
Fax: +421/ 2 / 582 31 109
Daląí informace o konferenci Python