🫵 Теория без практики - ничто, поэтому 👇 🐍 stepik.org/course/63085/promo 👉 специально для тебя создал бесплатный топовый курс по Python 👉 В нем тебя ждет: 📗 более 400 практических заданий на программирование 📗 более 250 тестовых заданий на проверку материала 📗 десятки часов видеоматерилов по теории 📗 видеоразборы решения заданий 📗 текстовые материалы по урокам, примеры кода 📗 доступ к закрытому чату с дружественной обстановкой 📗 сертификат в случае успешного прохождения курса
@user-ng9vs5vw4k2 жыл бұрын
Чисто вот по человечески спасибо. Обычным языком разжевал!
@lacieemai61038 ай бұрын
господи, ну как же это понятно и элегантно. спасибо!
@АлисаА-и7ф2 жыл бұрын
Артем ❤️ спасибо большое , вы просто супер 🙌 очень хорошо объясняете 🙏 все уроки смотрю ваши 🙌 прям очень классно объясняете 👍👍👍👍👍 и голос очень приятный ! Спасибо за ваш труд 🙏❤️
@vladoriginkos3 күн бұрын
хреново объясняет
@arsenshmid3 жыл бұрын
Как же хорошо объясняете. Нам бы таких преподов))))
@CryptoSteps5 жыл бұрын
Луца читал, мало что понял. А теперь сначало смотрю ваше видео по теме, а после читаю Луца. Стал больше понимать. Благодарю Вас за труд!
@alexanderalexandrov39725 жыл бұрын
Только за это же хотел поблагодарить. Вот, кто должен программирование в ВУЗах вести)))
@nobeing62424 жыл бұрын
потому что Лутц это графоманство, а не учебник
@ВалерияМалышева-ь1в4 жыл бұрын
У меня Луц тяжело идет. Стиль изложения довольно запутанный, на мой взгляд.
@AJIagguH4 жыл бұрын
Тоже после Лутца пришел. Однако то, что Егор рассказывает, я понимал уже из учебника (за исключением некоторых мелочей). Но Лутц ещё о других вещах касаемо генератора рассказывает. Вот их я не понял( P.S. Правда, я не очень понимаю, как на практике пригодится написание собственных функций zip и map :D
@AJIagguH4 жыл бұрын
Я бросил Лутца на 600 странице. Рекомендую 10% времени посвящать книгам, 10% - теории, 80% - написанию кода
@ibnabdulahad38942 жыл бұрын
Артем спасибо большое, очень хорошо объясняете👍👍👍
@Dmitrii-Zhinzhilov2 жыл бұрын
Артём, огромная благодарность! 🔥👍 💯
@Karno333 Жыл бұрын
Очень грамотно и по человечески объяснил. Спасибо
@elenalevasheva38303 жыл бұрын
Спасибо за урок, просто супер.
@ПетрУльянченко-с2ю11 ай бұрын
Артем, вы гений.
@python_senior2 жыл бұрын
Ждал интера, но не тут то было, на сцену вышел yield и Егорыч тяжело сглотнув все таки попробовал выговорить елд...но по привычке получилось нечто похожее на слово "елда".
@denistalko65852 жыл бұрын
Спасибо за отличное объяснение!
@drdizel7772 ай бұрын
Ты просто изумруд браток, спасибо тебе
@Jimmyyroblox2 жыл бұрын
Спасибо большое, очень доступно и понятно, только сейчас понял хотя до этого в других источниках не понимал
@АлексейКривчиков-м3ю3 жыл бұрын
Шикарные уроки, спасибо!
@mazur_vg2 жыл бұрын
Блеск! Спасибо!!!
@СергейМатвеев-г4м2 жыл бұрын
Очень все понятно, спасибо!
@ЕрвандАгаджанян-в3к3 жыл бұрын
Это было просто гениальное объяснение!
@kst5161 Жыл бұрын
Действительно хорошее объяснение)
@evgenyfetus2 жыл бұрын
Все очень понятно!
@osipov1804 жыл бұрын
Отличный канал! Подписка и лайк. Спасибо за уроки.
@freedom42188 ай бұрын
Спасибо большое
@АлексДан-ш2к Жыл бұрын
Лучший!!!
@brutsmart3 жыл бұрын
поставил лайк уже на 2й минуте. спасибо, за простое и понятное объяснение
@vasylcf4 жыл бұрын
Спасибо, очень доступно объясняете !
@yasuperdashakakasha4 жыл бұрын
АААА! Я не могу въехать! Обновлено: Я детально посмотрела видео на след. день и всё поняла, спасибо!
@data19101988 Жыл бұрын
Может, добавить какие то команды, выводящие объем занимаемой памяти или какие другие показатели эффективности yield для ещё большей наглядности...
@makseo6518 ай бұрын
Спасибо
@kz_Ali3 жыл бұрын
Огонь!
@pulsarofsamsara1625 Жыл бұрын
В примере с факториалом вместо yield, вписав print, получим тот же результат. Тогда преимущество функции генератора тут не совсем очевидна.
@Naumix_4 жыл бұрын
спасибо за урок
@Klagerh5 жыл бұрын
Отлично +
@dizelvinable5 жыл бұрын
Остальные темы я понял. В эту что-то не могу пока въехать. Наверное, позже вернусь, когда сформируются нужные нейронные связи в моей башке))
@Николай-ф3е7в3 жыл бұрын
Ну что, сформулировались ?
@dizelvinable3 жыл бұрын
@@Николай-ф3е7в Пришлось сконцентрироваться на PHP)) Пока занят попытками въехать в ООП)
@leni26463 жыл бұрын
@@dizelvinable Ну, что въехал?
@borg95493 жыл бұрын
Ну как, дошло?
@MrSunTrope2 жыл бұрын
@@dizelvinable ну что там, дошло?
@shakhzodbekbozorov78665 жыл бұрын
Больше По питону
@TerrillTomko21 күн бұрын
Благодарю за детальный разбор! Хотел спросить по другой теме: На моем SafePal кошельке хранится USDT и у меня есть seed фраза. (alarm fetch churn bridge exercise tape speak race clerk couch crater letter). Может подскажете, как отправить их на Binance?
@jamjam3337 Жыл бұрын
👍
@AketzaliAlmazzan2 ай бұрын
Вы делаете замечательные видео! Хотел спросить по другой теме: На моем SafePal кошельке хранится USDT и у меня есть seed фраза. (behave today finger ski upon boy assault summer exhaust beauty stereo over). Можете подсказать, как перевести их на Binance?
@BohdanVR6664 жыл бұрын
Получается, генератор при вызове print(next(genf())) Запускает цикл и "ставит его на паузу" до следующего next() А после его вызова она начинает выполнение кода на следующей строке Правильно понял?
@justinianbasileus28334 жыл бұрын
Выходит, что так.
@mynzhanshaikhy4562 жыл бұрын
после yield, pr не обновляться опят на один?
@Armlifeam4 жыл бұрын
Я хочу индивидуальные уроки по Python
@MortalKombatSector2 жыл бұрын
вот зачем нужна yield если это все равно считается итерацией словаря, я беру yield(ключ словаря) из цикла фор, потом в другом цикле вайл тру сохраняю его в список, беру из списка значение и удаляю из словаря, далее очищаю список самое интересное, что можно итерировать словарь по ключам, добавить в список (нужный вам)ключ и в "старшем цикле" фор удалить значение словаря и все работает
@MortalKombatSector2 жыл бұрын
в 1 случае ошибка, нельзя изменять словарь во время итерации, зато список можно да пайтан? кто тебя пишет какой умный человек
@atriusvinius3192 ай бұрын
Нужно это редко и для специфических задач. Новичкам не нужно совсем.
@МаксимАндреев-я1г4 жыл бұрын
Братан, а можешь напечатать чип, загрузить в него все свои знания и я их себе загружу в мозг, как в киберпанке
@egoroffchannel4 жыл бұрын
могу, но там будут баги)))
@yodapunishes5 жыл бұрын
Исчерпывающе!
@sofiya41.8 ай бұрын
почему ты находишь факториал как n + 1, а не n - 1 как объяснял в предыдущих уроках? это я не поняла
@kuzmichok89803 жыл бұрын
Артем, в наушниках на максималках плохо слышно.
@egoroffchannel3 жыл бұрын
Сейчас новый микрофон
@AzarovRom4 жыл бұрын
всё круто, но не хватает send :(
@АлексейКривчиков-м3ю3 жыл бұрын
def fact(n): p = 1 for i in range(1, n + 1): p = p * 1 yield p for i in fact(10): print(i, end = " ") У меня получается не факториал, а список из десяти единиц. Почему?
@Mcmern3 жыл бұрын
Напиши в четвертой строчке i вместо единицы
@usj48712 жыл бұрын
yield i
@Markisi0 Жыл бұрын
6:32 что значит не хранятся в списке? Вы же сами сказали выше, что функция ставится на паузу. Вы просто не явно создали этот список, а "поручили" сделать это самому python'у. 6:36 каким образом мы экономим память? В чём тут экономия? Запустите код с memory_profiler и вы увидите, что в одном, что в другом случае вы потребите 46 мегабайт памяти. В случае с yield даже больше.
@torchilla4630 Жыл бұрын
Так ты попробуй создать список с 1000000000 елементов и получишь ошибку по памяти(а если мощи компа хватит то получишь жесткое подвисание), в то время как с генератором такой ошибки не возникает. Так они и не храняться в списке, тут отдельно выдается каждое значение, сам генератор не хранит всего списка значений, а поочередно выдает каждый елемент отдельно на базе предыдущего, поэтому и память экономится, потому что мы не храним одномоментно 1000000000 елементов.
@Markisi0 Жыл бұрын
@@torchilla4630 Вы точно на мой комментарий отвечали? 😑При чём тут хранение, если выше я говорил про вычисление факториала и экономию памяти? Речь о том, что потребление скриптом памяти с оператором yield и без него будет одинаковое. Можете проверить сами: Файл_1 from memory_profiler import memory_usage def fact(n): output = 1 for i in range(1, n+1): output *= i yield output def main(): output_list = [] for dig in fact(500): output_list.append(dig) print(f'{output_list[-1]=}') main() print(f' {memory_usage()=}') Файл_2 from memory_profiler import memory_usage def fact_2(n): output = 1 for i in range(1, n+1): output *= i return output def main(): output_list = [] for dig in range(501): output_list.append(fact_2(dig)) print(f'{output_list[-1]=}') main() print(f' {memory_usage()=}')
@FireFox-cp8fc Жыл бұрын
@@Markisi0 Да, отчасти вы правы, но дело в том, что при работе с оператором yield, после вывода значения, предыдущие значения очищаються с памяти. Вот, если взять первый пример. С начало программа нам выводит число 43, потом число 65 и при выводе числа 65, число 43 стираеться с памяти, будто его и не было. А если повторить данную махинацию с оператором return, то все данные останутся в памяти. Надеюсь, что понятно обьяснил..
@Markisi0 Жыл бұрын
@@FireFox-cp8fc Вы лучше объясните результат выполнения двух вариантов кода выше - почему при использовании yield и без него памяти затрачивается одинаковое количество?
@slightlygruff2 жыл бұрын
йилд
@vsevolod9987 Жыл бұрын
Нет
@chajnikvest19275 жыл бұрын
1
@elizabetholsen6605 Жыл бұрын
Тяжко
@вМайнкрафтена Жыл бұрын
Артем, ну ты тараторишь, чуть помедленнее пожалуйста, приходится перематывать