Лямбды. Не такие и страшные
Вставка
- Опубліковано 5 лют 2025
- В туториалах и книгах порой усложняют описание лямбд, вываливая на новичков лямбда-исчисление, анононимность, Алонзо Черча и так далее. Постараюсь объяснить их более просто. Рассмотрим что такое лямбда, какие есть ограничения у нее, посмотрим на примеры использования, подумаем чем можно заменить и решим нужно ли новичку знать лямбды.
Полезные ссылки:
docs.python.or...
docs.python.or...
docs.python.or...
docs.python.or...
PEP-8: "Always use a def statement instead of an assignment statement that binds a lambda expression directly to an identifier"
Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти boosty.to/pyth...
✔️Юмани 410011506612886
Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
Смотри там где удобно🤩
✔️ python_...
✔️ rutube.ru/chan...
✔️ dzen.ru/python...
✔️ / pythonrussian
✔️ t.me/python_ru...
#Python #PythonRussian #PyCharm
На мой лично взгляд - один из самых недооценённых туторов по питону. Классные примеры и объяснение простое как палка)) очень круто! подписался, обнял, пасеба
спасибо, бро, ценю!
Мой любимый канал по питону для новичков
А мне понравился стиль изложения автора. Достаточно глубоко, с интересными нюансами и ловушками, но в тоже время простыми словами. Спасибо!
100%
Это просто потрясающе! Так просто и понятно объяснять. У вас талант. Жаль только сейчас наткнулся на ваш каналл. Каждое видео смотрю взапой, просто не оторваться. И главное все понятно.
спасибо, для вас и стараемся
Спасибо, стало гораздо понятнее. неделю пыталась разобраться сама, уже думала, что мозг отказывается воспринимать информацию))
а тут за 30 минут стало понятно, что куда писать)))
Офигенная подача! Я дизертировал из С# в Python и у меня начались затупы, но к счастью я нашёл этот канал!
Твои уроки + чтение реально дают пользу в понимание ЯПа - что не понял в книгах понял здесь. Продолжай в том же духе!!!
Обычно контент на ютубе строится по принципу "если сам не состоялся как программист, буду обучать и монетизироваться". Смотришь такое, понимаешь, что знаешь больше учителя, плюешься от огромного количества ляпов, неточностей или явных ошибок. Здесь все не так. Автору респект, квалификация на высоте, тонкости для правильного понимания разжевываются. Я не нашел к чему придраться :) Ну разве что иногда код сразу не пишет по PEP8, но часто запускает автоформатирование :) Подпишусь.
спасибо. Но на самом деле есть к чему придраться: то оговорюсь, то функцию напишу больно просто (опять же для показательных целей), то наоборот усложню. Я не преподаватель, излагаю и примеры придумываю на ходу, как вижу=)
@@PythonRussian Это мелочи. Главное это понимание предмета и квалификация. А это есть.
Странно, что так мало подписчиков. Иногда не хватает лаконичности и наглядности. Например когда сверху в комментариях набивается в реальном времени текст по пунктам - что усвоили, на что обратить внимание, что запомнить. Было бы классно, чтобы это выскакивало отдельной яркой табличкой. Но это видеомонтаж, куча времени. Если сложно и долго, выбор между красотой и контентом - то пусть лучше остается все по-старому, контент.
Из пожеланий - хотелось бы продолжения темы git/github именно с точки зрения практического применения персонально и в команде. Пусть кратко, но по делу и на практике, а не как у большинства - показ синтетических примеров из документации. Создание веток, откат к конкретной версии, предложение исправлений (пулл реквест?) для стороннего чужого репозитория, принятие чужих, простейшая структура репозитория, оформление, создание своего архива программ на гитхаб и зачем это нужно... Да, понимаю, емко и сложно. Но этого ни у кого нет. Либо многочасовые видео с описанием команд Git, либо синтетическое бесполезное убожество. По прошлому видео все понятно, но хочется дальше в том же ключе. Может в ущерб подробного описание дать больше практических приемов, советов, последовательности действий. Остальное можно и в других местах почитать.
@@Rejgan318 понял, добавил в список тему про ветки, сделаю
@@PythonRussian Ждем... :)
"Где она - фиг знает. Найдёшь, когда тебя вызовут" 14:28 🤣🤣🤣 Спасибо за настроение)
numb = 1
res = '0' if numb == 0 else (lambda: '1' if numb == 1 else '2')()
print(res)
А что ж Вы не сказали что лямбду можно так сразу вызывать...Я так долго мучился с этой задачей уже и так и так, пришлось всё таки обращаться к интернету за помощью) А за уроки респект и уважуха...лучшие уроки что видел на ютубе, прям для начинающих не пойдет, но с небольшой базой очень даже круто!
Супер! Огромное спасибо! Уже на третьей минуте понял о лямбде больше чем знал до этого.
спасибо за ваш контент, очень много полезных вещей узнал
спасибо, если есть темы, которые хотите увидеть в моих видео -пишите
возможно как одна из тем это static method, class method и property у классов в каких случаях их следует использовать и зачем нужны
@@krevedko_krevedkin не уверен, что это будет интересно в отрыве от ООП, но записал себе -попробую
Отличный урок! Благодарю за отличный обзор. спасибо за ваш контент, очень много полезных вещей узнал. Канал пушка, закрепляю прочитанный материал! Спасибо
Нравится подача материала. Однозначно лайк
Отличный ролик.Читаю Лутца, и у него эта тема выглядит сложновато, после промотра все встало на свои места.Спасибо
Хорошо объясняешь, лайк, подписка. Спасибо за контент
Благодарю за отличный обзор!
Все понятно. Спасибо
спасибо большое!
Спасибо, интересно.
Спасибо
Отличный урок!
Что наиболее производительнее? По времени, по памяти? лямбда, функция, аттритемгеттер, листкомпс?
так проведите замеры, навскидку я бы на листкомпс поставил, но могут быть нюансы
@@PythonRussian так я не профи, я не знаю, как сделать замер. Наверное через библу тайм и вывод времени, это замер скорости
Лучший канал -это факт. А задачки не осилил вконце. Очень сложно. Какой это уровень сложности из 10?))
да, это задачки со звездочкой, надо сильно заморочиться, они не обязательны, но если уж хочется то советую прочитать книгу Мертца о функциональном программировании в питоне, если мозг выдержит то это позволит очень замудренные конструкции на лямбдах строить.
@@PythonRussian я нашел ответ. Но не смог его понять. Чату гпт и его ответам можно доверять? Он нормальный код пишет?
Большинство каналов по теме талдычат как дикторы. Есть некоторые, которые учат, как школьные учителя. Здесь же совершенно иной ракурс преподнесения знаний. Озвучиваются такие реальные/"боевые" моменты. Такой ракурс можно получить, наверное, только уже устроившись джуном - от старших коллег.
Конечно, иногда хочется более пригодных для жизни примеров.., но в любом случае - этому каналу цены нет.
еще как вариант чет-нечет в лямде: even_odd = lambda x: ['even', 'odd'][x & 1]
да, вполне, мне даже такие конструкции нравятся, я их показывал в видео про булины, вот только читаются они не особо хорошо.
Насчёт прочтения чужого кода. Я тоже считаю, что это прям развивает круто, жаль что контента с разбором чужого кода мало. Так, в маленьких задачах. Я осмелюсь предложить рубрику, попадаются штучные ролики по ютубу такие, на кодварз люди решают задачи, после решения открываются чужие решения. и вот там так круто и суперкоротко бывает... просто мозг в экстазе)
Приведу пример. Стандартная школьная задача, считать сумму цифр из числа, пока не останется одна цифра. Да, там я понапридумывал с циклами, а потом в списке лучших вариантов увидел это:
def digital_root(n):
return n%9 or n and 9
Всё!.. челвоек явно в теориях чисел разбирается. Но такое слабо научит кодить, здесь уже скорее вопрос эффективности. А вот какие лазейки можно находить в официальной документации питона, что бы облегчить код - вот это искусство. Я вижу что тебе нарвится ковырять, может зайдёт) контента мало такого - через официальные библиотеки разбирать чужие решения и совершенствовать свой вариант)
идея хорошая, надо подумать. Важно, чтобы это какие то понятные/полезные задачки были, чтобы было интересно зрителям.
@@PythonRussian начинай с низких уровней и корабкайся вверх, сохраняй в плейлист и смотри статистику просмотров по уровням сложности, как вариант
Прифигел от автодопа на 23:09
Оказывается, что можно набирать функцию как метод, чтобы pycharm её сам подставил О__О"
Реализовать фор не смог, непонятно, что на выходе ожидается, я что-то пошел через попытку сделать объект итерируемым через iter() и вызывать next(), но вызывается он один раз, а как там рекурсию пихнуть не понял)
Не совсем понял как должна работать ламбла цикл, каким образом она принимает условие? С остальными заданиями справился
через рекурсию например, есть хорошая и короткая книга на эту тему David Mertz "Functional programming in Python"
Спасибо!! Вопрос: по этой же причине (или схожей) при создании матрицы таким способом: m = [ [0] * 4] * 5 все объекты внутри массивов матрицы ссылаются на одни и те же объекты?
не знаю по какой "этой же" причине, но ты создаешь 4 ссылки на один и тот же лист, меняя его изменишь сразу все.
Добрый день, если можно кратенькое пояснение разницы __repr__ от __str__. Спасибо.
это будет когда(и если) дойдем до магических методов
Какой магией .p превращается в принт?)
так пичарм работает, просто у меня возможно не видно выпадающих меню, попробуй сам. Если main написать то в выпадашке сразу предлагает конструкцию и так далее, у меня есть видео по комбинациям клавиш в пичарме
Про for while не понял если можно хотя бы код киньте)
Факториал через лямбду ↓↓↓↓↓↓↓
fact = lambda number: number * fact(number - 1) if number > 1 else number
fact = lambda number: number * fact(number - 1) if number > 1 else (1 if number == 0 else number)
from functools import reduce
print(reduce(lambda x, y: x * y, range(1, 6), 1)) # !5 ->120
извините, зачем вы пишите "if __name__ == '__main__'": ?
вот тут можно посмотреть ua-cam.com/video/RG8dobvf6kE/v-deo.html
@@PythonRussian спасибо большое, удачи вам!!!! очень классные видео, смотрю перед экзаменом вас
мелко бро, можно покрупней)
можно, в последующих видео увеличиваю шрифт
Пришел после зри в корень)
это правильное решение
Ничего не видно
Зум в помощь и все видно.
думал что можно впихнуть в объяснение лямбда функции на 40 минут. оказывается воду