Мини-урок по AsyncIO

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 เม.ย. 2021
  • Для того, чтобы лучше понять асинхронную работу в Python, я подготовил это видео. Если вы задумываетесь над тем, чтобы перейти на библиотеку aiogram, смотрите это видео :)
    Ссылки:
    Наш канал в Телеграм: t.me/botfatherdev
    Подробный курс можно пройти тут: botfather.dev/?You...
    Текстовая версия урока: botfather.dev/news/async-in-p...
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 123

  • @rahmatj0n
    @rahmatj0n 3 ปีที่แล้ว +15

    Круто сделано давно ждал урока о асинхронности! Спасибо большое.

  • @user-cf2co5wl5d
    @user-cf2co5wl5d 2 ปีที่แล้ว +2

    Спасибо за курс он очень познавательный

  • @golden_horde
    @golden_horde 2 ปีที่แล้ว +2

    ля как круто, я уже вижу где это можно применять! Очень хорошо объясняешь!

  • @cs_dequeue
    @cs_dequeue 2 ปีที่แล้ว

    Однозначно лайк! Спасибо! Раньше не совсем явно понимал роль оператора await.

  • @semimaks
    @semimaks ปีที่แล้ว

    Очень толково и последовательно, спасибо!

  • @hazadus
    @hazadus ปีที่แล้ว

    Классное объяснение, спасибо!

  • @igorb.4917
    @igorb.4917 2 ปีที่แล้ว +2

    Спасибо, хороший видос.

  • @Gladiy
    @Gladiy 3 ปีที่แล้ว +5

    Спасибо большое. В общем смысле понял принцип работы. Но тут нужны знания всех функций и как взаимодействуют между собой.

    • @latand
      @latand  3 ปีที่แล้ว +1

      Конечно, знать основы питона необходимо)

    • @Gladiy
      @Gladiy 3 ปีที่แล้ว

      @@latand Только начал осваивать питон, сам я сисадмин, и писал что либо на ansible и немного на баше. Пока прохожу уровни на сайте codecombat. Может посоветуете что для начинающего, плейлист или книгу. Задача стоит сделать Игрового - обучающего бота. Грубо говоря у тебя есть персонаж с характеристиками, и ты жмешь слушать лекции, выбираешь, слушаешь лекцию, и жмешь кнопку сдать экзамен, за правильные ответы получаешь опыт, прокачиваешь так себе уровень. И к примеру первый раз экзамен сдаешь бесплатно, а что бы улучшить результат, нужны очки выносливости, которые увеличиваются за счет уровня и если пригласил по реферальной ссылке. Позже допилить визуал, типа аватра, шмот добавить, валюту, за которую можно купить шмот и.т.д Ну и обязательно таблицы рейтингов. Также нужна какая то удобная форма добавления вопросов к экзамену, потому что их может быть 5-50. Буду рад если такой специалист как вы посоветует с чего начать обучения. Пока что вот смотрю ваши видео и учусь на codecombat. Еще раз спасибо

    • @latand
      @latand  3 ปีที่แล้ว +1

      Желательно написать в лс в телеграм, тут неудобно отвечать

    • @Gladiy
      @Gladiy 3 ปีที่แล้ว

      @@latand ок

  • @andreykalugin8075
    @andreykalugin8075 2 ปีที่แล้ว

    Очень понравился урок! Лайк и подписка

  • @leomysky
    @leomysky 2 ปีที่แล้ว +5

    Очень крутой видос, большое спасибо
    Всё достаточно понятно для первого просмотра
    За отсылку к Олегу Молчанову - подписка, правильные источники рекомендуешь)
    За ролик и скобочку на точке G лайк)))
    Спасибо

  • @Tolya421.
    @Tolya421. 2 ปีที่แล้ว +1

    Спасибо тебе👍

  • @blackcatdevel0per
    @blackcatdevel0per 6 หลายเดือนก่อน +1

    Кажись одно из лучших объяснений работы асинхронки которое я находил 🤔

    • @latand
      @latand  3 หลายเดือนก่อน

      Дякую)

  • @user-lx8ei2hi7l
    @user-lx8ei2hi7l 3 หลายเดือนก่อน +1

    Спасибо!

  • @sevashpun
    @sevashpun 2 ปีที่แล้ว +2

    Спасибо за видео! А как называется тема с таким фоном для PyCharm ?)

  • @googleadmin4749
    @googleadmin4749 2 ปีที่แล้ว +3

    С переменными из контекста интересно и понятно
    Запуск параллельных асинхронных задач через таски не очень было понятно, да и встречаются подобные решения редко.
    В целом как асинхронные функции писать было понятно, даже если было бы чуть меньше информации, к примеру двух функций было бы достаточно.

  • @wiallensdistruct2688
    @wiallensdistruct2688 2 ปีที่แล้ว

    замечательный урок

  • @Developer_python_
    @Developer_python_ ปีที่แล้ว

    the best description!

  • @TheVaregko
    @TheVaregko ปีที่แล้ว +1

    лучшее

  • @user-bz9ks9be2s
    @user-bz9ks9be2s 2 ปีที่แล้ว +4

    Спасибо за отличный урок! А можно ссылку на вашу тему в пайчарме?

  • @PizdaRusni2023
    @PizdaRusni2023 2 ปีที่แล้ว +1

    вроде все четко. Можно смотреть.

  • @ulugbeknurjonov5226
    @ulugbeknurjonov5226 2 ปีที่แล้ว

    Спасибо
    Какая тема устноалена в Pycharm?

  • @RCCopterChannel
    @RCCopterChannel 9 หลายเดือนก่อน +2

    Конкурентные задачи могут выполняться одновременно до того момента пока эти задачи не работают с памятью иначе GIL их тормознет

  • @artemsolovev9231
    @artemsolovev9231 3 ปีที่แล้ว

    годное видео

  • @user_sergey_mas
    @user_sergey_mas ปีที่แล้ว

    Спасибо

  • @user-pe6xi8if6z
    @user-pe6xi8if6z 2 ปีที่แล้ว +7

    что-то сложновато)
    запутался я(
    но всё равно спасибо за урок, интересно, познавательно, всё повторил за вами, всё работает, но самому написать это по памяти ... гиблая идея
    Спасибо за видео

    • @latand
      @latand  2 ปีที่แล้ว +3

      Советую изучить основы питона, а потом изучить уроки на botfather.dev
      И все получится :)

    • @latand
      @latand  2 ปีที่แล้ว +4

      А именно по асинхронности советую уроки Олега молчанова

    • @MrNagios
      @MrNagios ปีที่แล้ว +1

      @@latand тем более что он только недавно дополнил курс по асинхронности в платной версии.

  • @SeraphimShow
    @SeraphimShow 3 ปีที่แล้ว +2

    Так-то у тебя блок count выполнялся быстрее, чем надо.
    В моей парадигме асинхронные функции занимают ресурс процессора и создают пусть и меньшую очередь, чем при процедурном программировании (если не напутал с терминологией), а происходящее тут меня слегка дезориентирует.
    Однако, в целом, ты познакомил меня с очередной чертовски полезной библиотекой, мерси.
    А так же отдельное мерси за плотность выхода роликов. Процветания твоему делу)

  • @avanguard4762
    @avanguard4762 ปีที่แล้ว

    спасибо

  • @remsha
    @remsha 2 ปีที่แล้ว +1

    Когда речь идет о том, что Потоками управляет операционка это правда, но не нужно забывать о GIL

  • @markoslove1828
    @markoslove1828 ปีที่แล้ว

    Думаю можно было прописать так:
    import asyncio
    from contextvars import ContextVar
    MyCounter = ContextVar('counter', default=0)
    async def count():
    while True:
    mycounter = MyCounter.get()
    mycounter += 1
    MyCounter.set(mycounter)
    print(f'счетчик = {mycounter}')
    await asyncio.sleep(1 / 100)
    if mycounter == 100:
    print('счетчик закончен')
    break
    asyncio.run(count())
    чем писать соопрогу отдельно и еще раз прописывать в другой функции, когда сделал так, стало понятнее из чего и как . В целом мини урок крутой. Спасибо за труд!

    • @latand
      @latand  ปีที่แล้ว +1

      Тут саме важливо було показати, що контекст вар працює як глобальна змінна) тому й окрема функція

    • @markoslove1828
      @markoslove1828 ปีที่แล้ว +1

      @@latand аа тепер зрозуміло, дякую!

  • @IvanAvatar1
    @IvanAvatar1 2 ปีที่แล้ว +5

    В середине ролика окончательно поплыл, что в каком порядке выполняется, зачем таски, как функция понимает 10 секунд, если в ней прошло меньше чем одна целая секунды... Ощущение, будто падаю в чёрную дыру асинхронного программирования)

    • @IvanAvatar1
      @IvanAvatar1 2 ปีที่แล้ว +3

      А я ведь просто хотел сделать бота на aiogram`е)

    • @IvanAvatar1
      @IvanAvatar1 2 ปีที่แล้ว

      Наверное, после каждого запуска программы стоило подробно разбирать, какие функции начинают выполняться, как интерпретатор ведёт себя в зависимости от разных ключевых слов, на какие функции перебрасывается в какой момент времени и почему, может со схемой даже

    • @latand
      @latand  2 ปีที่แล้ว +1

      Боюсь в таком случае все бы поплыли на середине ролика длиной в 2-3 часа)

    • @latand
      @latand  2 ปีที่แล้ว

      Про одну целую секунд не понял тебя

    • @IvanAvatar1
      @IvanAvatar1 2 ปีที่แล้ว +3

      Ой, досмотрел до рекомендации Молчанова, пойду туда, претензии заочно снимаю, спасибо за рекомендацию)

  • @latand
    @latand  3 ปีที่แล้ว +14

    ⚠ Внимание! Сейчас на TH-cam размещен немного устаревший и неполный курс по разработке ботов. Более полную и актуальную версию можно посмотреть по ссылке: botfather.dev/?TH-cam&
    Видео не предназначено для просмотра на телефоне (особенно если он у вас меньше 4-х дюймов)

    • @ayub_ismailoff
      @ayub_ismailoff 3 ปีที่แล้ว +4

      Я видел твой комментарий после просмотра видео на телефоне😅

    • @pro100chok
      @pro100chok 3 ปีที่แล้ว

      Redmi 9, норм смотрится

    • @latand
      @latand  3 ปีที่แล้ว +4

      Ну там был один умник, которому не смотрелось, так что сразу предупреждаю, что лучше на компе

  • @GetEnjoyChannel
    @GetEnjoyChannel ปีที่แล้ว

    Спасибо, чуть чуть понятнее стало

  • @Chess_Logic
    @Chess_Logic 2 ปีที่แล้ว +2

    6:10 ))))

  • @lameralexandr554
    @lameralexandr554 2 ปีที่แล้ว +1

    6:09 XD

  • @danilatravkov1474
    @danilatravkov1474 ปีที่แล้ว

    18: 12 - Ничего не ясно из объяснения, если можно, хотя бы этот момент чуть подробнее?

  • @baldezh8997
    @baldezh8997 3 หลายเดือนก่อน

    что за тема для pycharm можно ссылку?

    • @latand
      @latand  3 หลายเดือนก่อน

      Плагін Material Theme, тема Deep Ocean або Night Owl

  • @slash_poe_dota
    @slash_poe_dota 2 ปีที่แล้ว

    для продвижения

  • @WitcherCoin
    @WitcherCoin 2 ปีที่แล้ว

    Блин, вот я перешёл на гитхаб, смотрю что там и что в ролике, всё абсолютно по-другому, из-за того что было внесено много изменений после заснятия ролика разобраться очень сложно(

    • @latand
      @latand  2 ปีที่แล้ว

      В какой гитхаб? По этому ролику нет исходного кода на гитхабе!
      А если ты про другие уроки, так важно понять принцип, а для этого надо не начинать программировать с ботов, а сначала пройти азы питона
      Ну и касательно самих уроков - они тут старые, потому рекомендую пройти на площадку botfather.dev и там смотреть уроки

  • @gpankov
    @gpankov 8 หลายเดือนก่อน

    что ж мне эта тема так сложно даётся?

  • @thisergey
    @thisergey ปีที่แล้ว

    Вообще не понятно, намудрил чет, когда поставил в конце main() await p10, вообще всё понимание разрушил )

  • @julybikes
    @julybikes 3 หลายเดือนก่อน

    Хочу купить у вас курс, но не проходит оплата

    • @latand
      @latand  3 หลายเดือนก่อน

      Привіт, якщо не проходить оплата картою, то можна поповнити баланс, а потім вже купити)
      botfather.dev/balance

  • @WitcherCoin
    @WitcherCoin 2 ปีที่แล้ว

    Почему у меня в handlers.users.menu пайчарм не видит
    from keyboards.default import menu
    и
    from loader import dp
    Помогите пжлста.

    • @latand
      @latand  2 ปีที่แล้ว

      Возможно ты не ту папку установил как корневую (клонировал шаблон в уже существующий проект, вместо того, чтобы открыть проект на основе шаблона)

    • @WitcherCoin
      @WitcherCoin 2 ปีที่แล้ว

      @@latand да, я не в том ролике написал. Озы-то я знаю) Но опыта работы с гит хабом нет. Поэтому почти невозможно разобраться. Сейчас разбираюсь с гит хабом.

  • @ramzbew5674
    @ramzbew5674 ปีที่แล้ว

    А куда пропала страница с текстовым уроком ?

    • @latand
      @latand  ปีที่แล้ว

      botfather.dev/news/async-in-python

  • @S1mpaaa
    @S1mpaaa 3 ปีที่แล้ว +1

    Прошел курс на степике по питону, но это пока сложно чёт (

    • @DaSh-More
      @DaSh-More 3 ปีที่แล้ว

      Проходи следующий, там их 2,второй как не странно называется основы python

    • @CraftOfDrops
      @CraftOfDrops 2 ปีที่แล้ว

      та же фигня

  • @user-jo4cf2by8f
    @user-jo4cf2by8f 4 หลายเดือนก่อน

    Блин, человек! Ну зачем ты запустил фоном какие-то звуки, они ОЧЕНЬ мешают слушать!

  • @commentator4238
    @commentator4238 ปีที่แล้ว

    Вот бы текстовая версия урока была доступна, а то по ссылке 404 :(

    • @latand
      @latand  ปีที่แล้ว

      botfather.dev/dashboard/lessons

  • @hulitolku
    @hulitolku ปีที่แล้ว +1

    Так что быстрее, AsyncIO или Threading?

  • @user-pw9pp9xg2i
    @user-pw9pp9xg2i 2 ปีที่แล้ว

    Дуже крутий урок. Заробимо грошей і передамо їх нашим захисникам асинхронно в безкінечному циклі, поки будем жити. Слава Україні!

    • @serobrine
      @serobrine 9 หลายเดือนก่อน

      Хероям в срало

  • @user-ww4cn3hv7j
    @user-ww4cn3hv7j ปีที่แล้ว

    Привет, не знаю увидит ли сейчас кто то, но у меня проблема, не знаю как решить, на первой секунде он выводит число не приблизительное к тыс, а всего лишь 64

    • @latand
      @latand  ปีที่แล้ว

      Це про яке число ти кажеш?

    • @user-ww4cn3hv7j
      @user-ww4cn3hv7j ปีที่แล้ว

      @@latand ничего себе, ты ответил, спасибо большое, такое дело, я когда точь в точь такую прогу запускаю, счетчик за секунду у меня выводит число не равное примерно тысячи, а всего лишь 64 или в районе того

    • @user-ww4cn3hv7j
      @user-ww4cn3hv7j ปีที่แล้ว

      и добавляет всего по 65 +-

    • @user-ww4cn3hv7j
      @user-ww4cn3hv7j ปีที่แล้ว

      Количество записей в списке 0
      - 1 секунда прошла. Количество записей в списке: 64
      - 1 секунда прошла. Количество записей в списке: 128
      - 1 секунда прошла. Количество записей в списке: 192
      - 1 секунда прошла. Количество записей в списке: 256
      ---- 5 секунд прошло
      - 1 секунда прошла. Количество записей в списке: 320
      - 1 секунда прошла. Количество записей в списке: 383
      - 1 секунда прошла. Количество записей в списке: 447

    • @latand
      @latand  ปีที่แล้ว

      Дивно, там ще з іншим може бути пов’язано, але можеш скинути код в лс? @latand

  • @uncodebaby7952
    @uncodebaby7952 2 ปีที่แล้ว

    g)

  • @uncodebaby7952
    @uncodebaby7952 2 ปีที่แล้ว +3

    урок хороший, но могу дать некий совет со стороны зрителя
    прежде чем преподносить так "в лоб" информацию, нужно дать зрителю теорию о том, в чем необходимость этих знаний
    иначе, если не знать цели использования полученных знаний, то и запомнится гораздо меньше

    • @latand
      @latand  2 ปีที่แล้ว +1

      В самом начале было сказано, что это видео для того, чтобы лучше понять работу библиотеки с которой мы будем работать в курсе

  • @Dark-bu4sf
    @Dark-bu4sf 2 ปีที่แล้ว +1

    Аааааааа! Мои глаза! Как можно писать "a = a + 1" ,надо писать хотя бы "а += 1"

    • @latand
      @latand  2 ปีที่แล้ว

      Господи, далеко не все об этом знают(

  • @saysogood2105
    @saysogood2105 3 หลายเดือนก่อน

    Рассказываешь интересно, но музыка не в тему

    • @latand
      @latand  3 หลายเดือนก่อน

      Ех

  • @user-bs9tp3nl1y
    @user-bs9tp3nl1y 2 ปีที่แล้ว +5

    Тема сложная для тех кто с этой байдой не работал. Педагог из тебя так-себе ). Примеры замороченные и общее впечатление, что ты там где-то на своей волне. Ну а для тех кто в теме, смотреть это смысла не имеет. Вот и падает канал. Спускайся на землю, дружище. Работай над подачей

    • @latand
      @latand  2 ปีที่แล้ว +5

      Понял, ща удалю видео

  • @vladimirserdyuk6795
    @vladimirserdyuk6795 2 ปีที่แล้ว

    physics is NOT simple

  • @user-bk9gb4lc1b
    @user-bk9gb4lc1b 2 ปีที่แล้ว

    какой это ide?

    • @latand
      @latand  2 ปีที่แล้ว

      Pycharm

  • @Flaiers
    @Flaiers 3 ปีที่แล้ว

    Канал начал падать(
    Печаль

    • @latand
      @latand  3 ปีที่แล้ว +2

      Можно Поподробнее? Куда падать и почему ?

  • @thisergey
    @thisergey ปีที่แล้ว

    Вот нормальный урок, а не твоя эта твоя шляпа th-cam.com/video/_4QY1nGFRY8/w-d-xo.html

    • @latand
      @latand  ปีที่แล้ว

      Дякую, по яких критеріях ти визначив що мій урок - шляпа?

  • @user-jd4rl7im6d
    @user-jd4rl7im6d ปีที่แล้ว

    Какие потоки в асинхронности? 3:40 уже теория - чушь полная

    • @latand
      @latand  ปีที่แล้ว

      Детальніше будь ласка)

    • @latand
      @latand  ปีที่แล้ว

      Може ти просто не в курсі що бібліотека threading використовує саме потоки? Або просто неуважно слухаєш відео

    • @latand
      @latand  ปีที่แล้ว +1

      3:15 якщо прослухав про Event Loop

    • @user-jd4rl7im6d
      @user-jd4rl7im6d ปีที่แล้ว +1

      @@latand действительно, прослушал этот отрывок, извиняюсь. Немного неоднозначно дальше отрывок звучит, но если все вместе слушать, то все верно

  • @user-uv7im6fu5f
    @user-uv7im6fu5f ปีที่แล้ว

    Какая у тебя тема в PyCharm`е @Physics is Simple ответьте пожалуйста

    • @latand
      @latand  ปีที่แล้ว

      Deep ocean

    • @user-uv7im6fu5f
      @user-uv7im6fu5f ปีที่แล้ว

      @@latand что - то не очень похоже

    • @user-uv7im6fu5f
      @user-uv7im6fu5f ปีที่แล้ว

      Отправьте на неё ссылку или в дискорде покажите

    • @latand
      @latand  ปีที่แล้ว

      @@user-uv7im6fu5f чим не схоже?

    • @latand
      @latand  ปีที่แล้ว

      А, на цьому відео ще я її трохи допрацьовував, але потім це стало платним

  • @dustiwe
    @dustiwe 2 ปีที่แล้ว

    Спасибо!