Что за звери *args и **kwargs

Поделиться
HTML-код
  • Опубликовано: 21 сен 2024
  • Немного поговорим о распаковке, звездочке *, позиционных и keyword аргументах, спецсимволах, а также о том как все это применять для args и kwargs
    1) args и kwargs в параметрах функции - общепринятые имена, но можно использовать и другие
    2) позволяет распаковать iterable/sequence, а ** распакуют словарь
    3) если нет никаких спецсимволов, то аргументы функции можно передавать как позиционно, так и keyword (то есть ключ=значение). Важно помнить, что позиционные всегда идут раньше keyword, при этом keyword аргументы между собой не обязаны хранить порядок.
    4) спецсимвол / в параметрах функции говорит, что все, что ДО него должно передаваться как позиционные аргументы
    5) спецсимвол * (без указания переменной), говорит о том что все, что ПОСЛЕ него должно передаваться как keyword аргумент
    6) *args в параметрах функции соберет все позиционные аргументы в кортеж (tuple)
    7) **kwargs в параметрах функции соберет все keyword аргументы в словарь (dict)
    Почитать:
    docs.python.or...
    docs.python.or...
    Важно понабирать эти примеры, поэкспериментировать, понять для себя роль * и **
    Присоединяйтесь к помощи каналу, будет интересно)
    ✔️Бусти boosty.to/pyth...
    ✔️Юмани 410011506612886
    Будь первым везде и всегда, включай уведомления о новых выпусках 🔔
    Смотри там где удобно🤩
    ✔️ python_...
    ✔️ boosty.to/pyth...
    ✔️ / pythonrussian
    ✔️ t.me/python_ru...
    ✔️ dzen.ru/python...
    ✔️ rutube.ru/chan...
    #Python #PythonRussian #PyCharm

Комментарии • 46

  • @GRECHKA230
    @GRECHKA230 3 месяца назад +2

    Как по мне самая лучшая подача материала по пайтону на ютубе. Без воды, без всяких ненужных пауз и т.п

  • @Kostya_kzn
    @Kostya_kzn 3 года назад +14

    Наконец-то внятное объяснение, как всегда без воды 20 из 10 =)

    • @PythonRussian
      @PythonRussian  3 года назад +2

      спасибо за высокую оценку

  • @databox4279
    @databox4279 Год назад +1

    Два топовых канала в ру сегменте по питону, которые отлично дополняют друг друга - Ваш и Олега Молчанова. Огромная Вам благодарность, что продолжаете радовать нас качественным материалом, который очень сильно помогает в освоении питона.

  • @za_rekoi
    @za_rekoi 5 месяцев назад

    Очень здорово разобрал тему.

  • @ВладимирГригорьевич-у2р

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

    • @PythonRussian
      @PythonRussian  3 года назад

      Спасибо на добром слове, буду продолжать

  • @atmega4887
    @atmega4887 2 года назад

    До этого объяснения много инфы пересмотрено, и, даже проекты в жизнь ушли, а полного понимания не было... спасибо, все сложилось

  • @Tobi00111
    @Tobi00111 9 месяцев назад

    Это лучший канал по Python из всех которых я видел)

    • @Ксандр-л1щ
      @Ксандр-л1щ 3 месяца назад

      напоминает Матрицу.. Тенк загрузи мне знание аргс и кваргс - 30 минут - готово)) УЖЕ, как обычно, никто другой мне не мог доходчиво объянить)) Спасибо в который раз уже)

  • @ypohut1673
    @ypohut1673 7 месяцев назад +1

    Спасибо

  • @kizik85
    @kizik85 2 года назад +1

    Спасибо! Мне понравилось! Классное объяснение!!!

  • @liner_exe
    @liner_exe 11 месяцев назад +1

    Отличное видео. Всё сразу понятно

  • @pfk9025
    @pfk9025 2 года назад +1

    Очень доходчиво! Спасибо)

  • @ХалилМаденбай
    @ХалилМаденбай 2 года назад

    Как всегда прекрасно. Наконец-то внятное объяснение, класс, подписка, лайк, колоколчик

    • @PythonRussian
      @PythonRussian  2 года назад

      спасибо =)

    • @ХалилМаденбай
      @ХалилМаденбай 2 года назад

      @@PythonRussian просто отдыхаю слушая ваши видео. Никак не напрягает мозг. Что очень хорошо

    • @PythonRussian
      @PythonRussian  2 года назад

      @@ХалилМаденбай код только не забывай писать и все пробовать, практиковаться, а то так расслабишься что до кода не дойдет )))

    • @ХалилМаденбай
      @ХалилМаденбай 2 года назад

      @@PythonRussian ну вы сразу спалили меня😀

  • @МаксимЕвтишкин-н5с
    @МаксимЕвтишкин-н5с 3 года назад +1

    *крутое видео **люблю python

  • @korleone72
    @korleone72 Год назад

    спасибо, очень крутое объяснение. по полочкам)

  • @Yuriy_ko
    @Yuriy_ko Год назад

    print('Спасибо за контент')

  • @pavlo8766
    @pavlo8766 3 года назад +4

    Расскажите, пожалуйста, о декораторах функций и об их практическом применении.

    • @PythonRussian
      @PythonRussian  3 года назад +2

      понял, сделаем!

    • @PythonRussian
      @PythonRussian  3 года назад +1

      вот начало положено, введение так сказать ruclips.net/video/q4o_1cXAS-c/видео.html

  • @IlyaIlya_lopkop
    @IlyaIlya_lopkop 3 года назад

    Как всегда прекрасно👍

    • @PythonRussian
      @PythonRussian  3 года назад

      спасибо, буду стараться

  • @moonboyforever
    @moonboyforever 2 года назад

    Спасибо Вам!

  • @bomboklaa
    @bomboklaa 3 года назад

    Слэш в аргументах полезен, когда передаём в функцию кортеж, а в нём сплитованный парсинг, например, расскажите, пожалуйста, только как использовать кваргсы с частью или полностью указанными значениями по умолчанию.
    Upd: а нет, уже понял. Реально супер гайды и темы нужные.

    • @PythonRussian
      @PythonRussian  3 года назад

      привет, а можете подробнее привести пример и может даже ссылку на pastebin с набросками кода показать? Чего то не могу придумать ситуации для чего это может пригодиться.

    • @bomboklaa
      @bomboklaa 3 года назад

      @@PythonRussian спасибо вам за действительно отличные гайды. Конкрентно сейчас сперва было не понятно как при **kwargs задавать ключевые аргументы по умолчанию, но потом понял, когда на примере принта объяснили, что он хочет принимать и как в него передавать

  • @denisnjar5369
    @denisnjar5369 Год назад

    охренеть!

  • @eldos704
    @eldos704 3 года назад +2

    Запишите пожалуйста урок по регулярным выражениям

    • @PythonRussian
      @PythonRussian  3 года назад

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

    • @ВладимирГригорьевич-у2р
      @ВладимирГригорьевич-у2р 3 года назад

      @@PythonRussian в любом случае, у Вас более опыта чем у нас, интересующихся, я бы тоже с удовольствием послушал о рег выражениях, и пусть ролик будет минут 5

    • @PythonRussian
      @PythonRussian  3 года назад +1

      @@ВладимирГригорьевич-у2р ну хорошо, раз интересно -сделаю, чисто обзорное видео.

    • @ВладимирГригорьевич-у2р
      @ВладимирГригорьевич-у2р 3 года назад +2

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

    • @PythonRussian
      @PythonRussian  3 года назад +1

      вот он! ruclips.net/video/f-FJHEMUN_M/видео.html

  • @СергейСинюк-и5м
    @СергейСинюк-и5м 2 года назад +1

    Опечатка
    2) **позволяет распаковать iterable/sequence, а *** распакуют словарь
    (по одной звёздочке Ютюб крадёт для выделения жирным)

  • @IlyaIlya_lopkop
    @IlyaIlya_lopkop 3 года назад +2

    Где новые крутые видосики?

    • @PythonRussian
      @PythonRussian  3 года назад +1

      съемка крутых видосиков тратит время и силы, надо ждать. Вот по регуляркам ruclips.net/video/f-FJHEMUN_M/видео.html

    • @IlyaIlya_lopkop
      @IlyaIlya_lopkop 3 года назад

      @@PythonRussian да, понимаю. Самое главное качество👍

  • @kan4317
    @kan4317 3 года назад

    dict = {}
    def upd(**kwargs):
    dict.update(kwargs)
    Иногда удобно такую функцию использовать