likin
Ноя. 7, 2011 16:55:50
РЕально ли на Питоне реализовать такой код.
Это ява скрипт.
obj.call(function(message){
alert(message);
})
Nested functions не совсем подходят….
def ex():
def event(widget):
print widget.get_text()
b = gtk.Button(“H”)
b.connect(“clicked”, event)
Не совсем подходит, так как этих ивентов може быть много….
Хотелось бы так…
b = gtk.Button(“H”)
b.connect(
“clicked”,
def (widget):
print widget.get_text()
)
Спасибо.
Андрей Светлов
Ноя. 7, 2011 17:05:58
Много событий=много вложенных функций. В чем проблема?
likin
Ноя. 7, 2011 17:21:58
def ex():
def event(widget):
print widget.get_text()
b = gtk.Button(“H”)
b.connect(“clicked”, event)
def event(widget):
print widget.get_text() + 2
b = gtk.Button(“H”)
b.connect(“clicked”, event)
def event(widget):
print widget.get_text()
b = gtk.Button(“H”)
b.connect(“clicked”, event)
Прокатит?
likin
Ноя. 7, 2011 17:23:24
А как заставить работать мой вариант?
b = gtk.Button(“H”)
b.connect(
“clicked”,
def (widget):
print widget.get_text()
)
> Прокатит?
Да.
Другие варианты:
1. b.connect('clicked', lambda widget: widget.get_text())
2. b.connect('clicked', operator.methodcaller('get_text'))
3. b.connect('clicked', functools.partial(Button.get_text))
В Python нет анонимных функций, только лямбда.
..bw