Обучающий курс: stepik.org/cou... Что такое лямбда-функции, как они определяются, вызываются и используются в практике программирования. Telegram-канал: t.me/python_se...
Сергей, я смотрю твои видео, когда не могу разобраться с материалом на хекслете. Должен сказать, что чаще всего после просмотра все становится понятно и мне удается решить задачу на закрепление. Ты классно подаешь материал. Мне нравится как ты разбираешь темы детально и, что не маловажно, не скучно. Это и делает твои ролики, пожалуй, лучшими. На канал подписался. Каждому видосу ставлю лайк прежде, чем просмотрю. От всей души благодарю тебя за то, что помогаешь в обучении. Счастья тебе!
немного не понял..вот где if filter(x)... значит "если есть значение X , то выполняем добавление в список вот это X " ? (типа "если true, то выполняем добавление в список")
Есть еще такой момент, что в ткинтере, в обработчике кнопки, в command можно присвоить только функцию без аргументов. А бывает хочется с аргументами (может быть это моветон). Тогда можно присвоить в command лямбда-функцию, в теле которой будет функция с аргументами, а сама лямбда функция будет без аргументов. Не знаю, почему без этого не работает, и почему с этим работает, но как сделать по-другому не нашел
Здравствуйте! А подскажите, почему при выполнении кода: lambda a, b: a + b s = lambda a, b: a + b s(1,2) выводится не 3, а *** Remote Interpreter Reinitialized ***? Работаю в PyScripter
Параметр filter это либо не указываем, - тогда по умолчанию в функции будет значение None, оно проверится и функция завершится с возвратом того же самого списка а. - либо указываем (ссылку) на любую функцию. Эта функция должна принимать один параметр и возвращать True или False в зависимости от своего алгоритма и входного параметра. Так вот если указываем ссылку на функцию, то далее в цикле проходим по всем элементам списка а, это будут элементы х, и вызываем функцию filter с этим значением из списка то есть filter(x). Если вернется True , в результирующий список добавляется текущее значение х. Кстати Сергей особо не подчеркивал, что лямбда-функция это на самом деле выражение (лямбда-выражение) которое создает в памяти функцию и возвращает ссылку на созданную функцию.
@@rizmo9125 смотря для чего. С++ сложнее, но создает быстрые программы (для исполнения), Python - проще, но программы медленнее. На Python много популярных направление (см. 1-е видео этого плейлиста). На с++ - код, критичный к скорости работы. В общем, на ваш вопрос нет однозначного ответа. Что больше нравится, то и изучайте.
lambda-функции это анонимные функции, поэтому создавать анонимную функцию, чтобы потом присвоить ей имя и вызывать по этому имени - это довольно странно. Проще и нагляднее определить обычную функцию с именем при помощи def. Но это может понадобится для сравнения lambda-функции и обычной (заданной при помощи def). def имя (параметры): return выражение делает то же самое ,что имя = lambda параметры : выражение
Самое лучшее объяснение про лямбда-функции которое я слышал. Класс
как будто в мире животных, только в мире Пайтон) класс, спасибо за урок, приятно вас слушать. можно даже перед сном!!)
Сергей, я смотрю твои видео, когда не могу разобраться с материалом на хекслете. Должен сказать, что чаще всего после просмотра все становится понятно и мне удается решить задачу на закрепление. Ты классно подаешь материал. Мне нравится как ты разбираешь темы детально и, что не маловажно, не скучно. Это и делает твои ролики, пожалуй, лучшими. На канал подписался. Каждому видосу ставлю лайк прежде, чем просмотрю. От всей души благодарю тебя за то, что помогаешь в обучении. Счастья тебе!
Спасибо! Если вы не против, я воспользуюсь этим отзывом для промо-ролика?
@@selfedu_rus Не против %)
наконец понял основу, почему она так работает. Спасибо большое!
немного не понял..вот где if filter(x)... значит "если есть значение X , то выполняем добавление в список вот это X " ? (типа "если true, то выполняем добавление в список")
Большое спасибо. Очень ждал видео именно о lambda
Спасибо за Ваш труд, всё максимально понятно. Еще бы многопоточность к Вашему стеку курсов и они станут бесценными!
Спасибо за отличное объяснение.
всегда руки трясутся при виде лямбды, спасибо за видео, буду разбираться!
Спасибо, теперь понятно как оно работает.
Я бы сделал print(list(filter(lambda x: x % 2 == 0, lst)))
Ты просто вывел результат, а в примере создали новый список, который возможно пригодиться дальше.
Есть еще такой момент, что в ткинтере, в обработчике кнопки, в command можно присвоить только функцию без аргументов. А бывает хочется с аргументами (может быть это моветон). Тогда можно присвоить в command лямбда-функцию, в теле которой будет функция с аргументами, а сама лямбда функция будет без аргументов. Не знаю, почему без этого не работает, и почему с этим работает, но как сделать по-другому не нашел
r = filter(lambda x: x%2 == 0, lst)
и не надо огород городить ;-)
Спасибо! Все стало ясно!
Здравствуйте! А подскажите, почему при выполнении кода:
lambda a, b: a + b
s = lambda a, b: a + b
s(1,2)
выводится не 3, а *** Remote Interpreter Reinitialized ***?
Работаю в PyScripter
Спасибо
не понял момент с filter(x) на 4:48, подскажите кто разобрался почему такой синтаксис, как соотносится filter=None и filter(x)?
Параметр filter это либо не указываем,
- тогда по умолчанию в функции будет значение None, оно проверится и функция завершится с возвратом того же самого списка а.
- либо указываем (ссылку) на любую функцию. Эта функция должна принимать один параметр и возвращать True или False в зависимости от своего алгоритма и входного параметра.
Так вот если указываем ссылку на функцию, то далее в цикле проходим по всем элементам списка а, это будут элементы х, и вызываем функцию filter с этим значением из списка то есть filter(x). Если вернется True , в результирующий список добавляется текущее значение х.
Кстати Сергей особо не подчеркивал, что лямбда-функция это на самом деле выражение (лямбда-выражение) которое создает в памяти функцию и возвращает ссылку на созданную функцию.
Все круто, все без воды, и уже на 1:40 я понимал что такое lambda функция
Можно использовать присваивание через моржа (:=)
даже стало как то грустно за лямбда функцию когда вы сказали что у нее нет имени
действительно лучшее обьяснение лямбы... Спасибо и респект )
С удовольствием записался на курс на Степике :)
Очень круто, спасибо! А не будет курса по C# ?
Спасибо! Сначала с Python полностью разберусь, а там видно будет!
@@selfedu_rus Я б тоже с удовольствием послушал C# и WPF в Вашем исполнении. Python поразительно легко идёт благодаря вашему курсу
Здравствуйте, как с вами можно связаться?
Я только здесь, на большее времени просто нет
@@selfedu_rus c++ или python? Что выбрать школьнику
@@rizmo9125 смотря для чего. С++ сложнее, но создает быстрые программы (для исполнения), Python - проще, но программы медленнее. На Python много популярных направление (см. 1-е видео этого плейлиста). На с++ - код, критичный к скорости работы. В общем, на ваш вопрос нет однозначного ответа. Что больше нравится, то и изучайте.
@@rizmo9125 в каком-то видео было, может в первом, что этот язык выбран для ЕГЭ, думаю его и надо
спасибо за труды!
👍
lambda-функции это анонимные функции, поэтому создавать анонимную функцию, чтобы потом присвоить ей имя и вызывать по этому имени - это довольно странно. Проще и нагляднее определить обычную функцию с именем при помощи def.
Но это может понадобится для сравнения lambda-функции и обычной (заданной при помощи def).
def имя (параметры):
return выражение
делает то же самое ,что
имя = lambda параметры : выражение
Спасибо. Все понятно.
👍👍👍👍👍
спасибо
спасибо!👏👍
Куда я могу задонатить?
Либо стать спонсором, либо кошелек в описании канала. Спасибо! ))
@@selfedu_rus с кошельком там сложно что-то, не смог перевести из банков, просто стал спонсором, из-за того что проще