Форум сайта python.su
Вот вам еще примерчик. Может немного искусственный, но простой: генерация списка функций возведения в степени:
lambdas = [lambda z, y=x: z**y for x in range(10)]
for f in lambdas:
print f(6)
1
6
36
216
1296
7776
46656
279936
1679616
10077696
Офлайн
pasaranaxда
То есть лямбду удобно применять там, где надо передать небольшую функцию, как объект?
Офлайн
Создавал динамически кнопочки в tkinter, нужно было вызывать функцию с разными параметрами, лямбда - самое оно.
Офлайн
pasaranaxlambda очень удобна для всяких мелких вспомогательных функций, которые невыгодно оформлять в виде отдельных функций. Бяда в том, что в Python от нее мало толку :(
То есть лямбду удобно применять там, где надо передать небольшую функцию, как объект?
Офлайн
Часто её использую подобным образом:
class FooAdapter:
bar = property(lambda self: self.original.bar)
def __init__(self, original):
self.original = original
count = lambda Model: session.query(Model).count()
print count(Foo)
print count(Bar)
print count(Baz)
print count(Qux)
Офлайн