40 *args и **kwargs Python. Передача аргументов в функцию

Поделиться
HTML-код
  • Опубликовано: 26 ноя 2024
  • 🔥🔥🔥 Инди-курс по Python 🔥🔥🔥
    stepik.org/cou...
    👉👉👉 Свой вопрос по курсу можешь задать в чате
    t.me/+SlnNhAO7...
    👉👉👉 Также подписывайся на мой телеграмм-канал
    t.me/python_eg...
    egoroffartem.py...
    Функции - это многократно используемые фрагменты программы. При помощи функций можно объединить несколько инструкций в один блок, присвоить этому блоку имя и затем, обращаясь по имени этого блока, выполнить инструкции внутри него в любом месте программы необходимое число раз.
    Чтобы функция могла принимать неопределенное количество аргументов, нужно в определении функции создать перемененную *args. Операция "*" упакует все переданные значения в кортеж с именем args.
    egoroffartem.py...
    На сайте будет выкладываться более подробная информация о данном курсе и будущих видео.
    Все видео этого курса можете найти на сайте
    egoroffartem.py...
    или в Вк
    videos-...
    Если кому нужна помощь, предлагаю индивидуальные занятия. Подробнее пишите в личку в вк
    artem_e...
    python....
    В данном группе можете найти информацию о новых видео и задать вопросы

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

  • @egoroffchannel
    @egoroffchannel  6 месяцев назад

    🫵 Теория без практики - ничто, поэтому 👇
    🐍 stepik.org/course/63085/promo
    👉 специально для тебя создал бесплатный топовый курс по Python
    👉 В нем тебя ждет:
    📗 более 400 практических заданий на программирование
    📗 более 250 тестовых заданий на проверку материала
    📗 десятки часов видеоматерилов по теории
    📗 видеоразборы решения заданий
    📗 текстовые материалы по урокам, примеры кода
    📗 доступ к закрытому чату с дружественной обстановкой
    📗 сертификат в случае успешного прохождения курса

  • @drarov91
    @drarov91 Год назад +24

    После этого урока я полностью для себя переосмыслил args и kwargs! Никто не рассказывает даже в платных курсах как эти параметры упаковываются и распаковываются!

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

    Я проходил молодое поколение Python, ни шиша не понимал, а на вашем канале все понятно, человеческое спасибо Вам!

  • @ramazanberik5602
    @ramazanberik5602 3 года назад +35

    вы молодец, посмотрел видеоурок из платного курса, немного не понял некоторые моменты, но смог исправить это благодаря вашему БЕСПЛАТНОМУ уроку, объяснили всё доходчиво и грамотно, обязательно лайкну и подпишусь

    • @GG-gw5uz
      @GG-gw5uz 2 года назад +1

      У меня также, все очень понятно объясняете

  • @marynasamonenko7302
    @marynasamonenko7302 7 месяцев назад

    Артём, огромное спасибо! Вы большой МОЛОДЕЦ! Всё очень ясно и актуально.

  • @РиммаБарк-ы4с
    @РиммаБарк-ы4с 4 года назад +32

    Спасибо, Артем, за 40 -й урок!

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

    Спасибо, посмотрела!

  • @champloot
    @champloot 2 года назад +4

    Блин, огромное спасибо! Я перерыл кучу сайтов, но не нашёл нормального объяснения. Хорошо что есть такие лекции).

  • @dimitrylenchevsky426
    @dimitrylenchevsky426 4 года назад +9

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

  • @Dmitrii-Zhinzhilov
    @Dmitrii-Zhinzhilov 2 года назад +6

    Артём, благодарю! 👍🔥🔥🔥🔥 отлично методически подан материал, отличная динамика, дикция, примеры 💯💣

  • @David-me5dz
    @David-me5dz 3 года назад +66

    Очень нравится, как Артём объясняя тему переходит от простого к сложному. Не только в этом уроке, но и во многих других.
    Начали урок с элементарного a, *b = [1, 2, 3] и закончили полным пониманием что такое *args **kwargs и зачем они нужны.

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 3 года назад +5

      да это круто
      по науке, по педагогике

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

    Пожалуй, лучший канал по питону. Столько благодаря ему понял...

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

    обожаю этот канал!
    так легко и понятно мало кто может объяснить материал!

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

    спасибо тебе мощьно объяснил четко ясно кратко без воды

  • @ВалерияМалышева-ь1в
    @ВалерияМалышева-ь1в 4 года назад +9

    Спасибо за урок! Все очень подробно раскрыто.

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

    Очень круто объясняете, спасибо!

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

    4 года прошло с момента публикации ролика, а я все также восхищен автором!!!

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

    Лучший питонячий курс для начинающих.

  • @whiteafrican3692
    @whiteafrican3692 4 года назад +5

    Очень доступно и понятно. Спасибо тебе!!!!

  • @peronium_
    @peronium_ 3 года назад +7

    Егоров Артем - один из самых талантливых ютуберов! очень всё подробно и понятно!

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 3 года назад

      согласен
      всё чётко, по полочкам

  • @АндрейХмелёв-н7ы
    @АндрейХмелёв-н7ы 4 года назад +6

    очень доходчиво объяснили. Спасибо

  • @abdulazizumarov8287
    @abdulazizumarov8287 3 года назад +3

    Братан спасибо большое смотрю уже месяц твои видосы, решил коммент оставить. Ты лучший)

  • @pallumella
    @pallumella 4 года назад +4

    Спасибо! Максимально доступно и понятно.

  • @АлександрЛитвинюк-х2ы

    не чего не замудрил все четко и по полочкам !! другие видео смотрел и читал литературу там эти kwargsi argsi замудрили пипец тут я все понял !! Спасибо

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

    классно и круто ОГРОМНЫЙ ЛАЙКОС!!!!

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

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

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

    круто разжевано) спасибо огромное😁

  • @Александр-н5ю3с
    @Александр-н5ю3с 2 года назад

    Молодец Артем! Молодец! Спасибо тебе!

  • @egorpython9683
    @egorpython9683 4 года назад +2

    спасибо, отличные уроки! с нуля начал обучение

    • @egoroffchannel
      @egoroffchannel  4 года назад +4

      Спасибо за поддержку!)

  • @andriiew325
    @andriiew325 4 года назад +7

    Огромное спасибо, реально доходчиво объяснил. паралельно читаю "Укус Питона", в целом отличная книга, но именно эта тема очень плохо(как на меня) обьяснена(впринцепе смотрел оригинал, там тоже не всё так легко описывают). Эта тема доставила хлопот, что бы разобраться. Спасибо огромное!!!!

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

    хорошо разживал мощный лайк продолжай в том же духе

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

    Ты просто крут, парень!!) От души!

  • @suprun1982
    @suprun1982 5 лет назад +2

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

  • @mountaineagle966
    @mountaineagle966 Год назад +2

    Всегда думал , что за божий дар денег не берут. В эксрасенсов и шарлатанов не верю. Но у Егора реально дар рассказывать просто о сложном, и делает это бесплатно. Но как после такого не задонатить человеку :)

  • @yodapunishes
    @yodapunishes 5 лет назад +5

    Прикольно, не знал, что звёздочка такая полезная

  • @NikDev19
    @NikDev19 4 месяца назад

    Здорово, классная дикция)

  • @osvab000
    @osvab000 4 года назад +6

    Спасибо, можно было бы в конце даже такой пример:
    a=range(10)
    print(*a, type(a))

  • @Cmpanik1999
    @Cmpanik1999 6 лет назад +12

    Спасибо за курс!)

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

    Офигенно! Спасибо большое!

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

    спасииибо

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

    супер урок

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

    Огромное спасибо!

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

    Спасибо за лайфхак))

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

    просто лучший!

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

    Спасибо, очень помогли 👍

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

    Спасибо за уроки... но тут ошибка... 9.55 - sep и end были переданы в качестве аргумента, по факту у принта остались пробел и
    разделителями. правильнее было указывать sep=sep, end=end.

  • @logan7280
    @logan7280 4 года назад +18

    Очень классно объясняешь, жаль что многие уроки платные(

    • @kaltsdaniil8378
      @kaltsdaniil8378 4 года назад +9

      Скажи спасибо,что Артём большую часть уроков бесплатно нам даёт смотреть)

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

      @@network_sw платную инфу можно в интернете найти

  • @ОлександрКарацюпа-э4у

    Спасибо!!!

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

    видео класс!

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

    Понятно , как таблица умножения

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

    Ну это Топ, шо еще тут скажешь

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

    Спасибо про * не знал)

  • @aslanzurabov3755
    @aslanzurabov3755 4 года назад

    хороший урок

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

    Спасибо за урок, но я бы не пользовался таким присвоением.

  • @artem2657
    @artem2657 4 года назад +4

    Я сейчас учу пайтон с нуля. Это мой первый язык. И у меня первое время было такое ощущение каждый день * Ааа а можно и так делать ! Круто*
    Но когда я такое начал ощущать раз 30 и 50 уже мне стало страшно потому что как можно запомнить все эти фишки ? У меня половина уже из того что я видел * Ааа а можно так ! * Уже забыл. Тупо из за большого количества информации которой порой и конца не видно.

    • @artem2657
      @artem2657 4 года назад

      @FIRE END Я уже бросил к сожалению. Когда ООП изучал не смог придумать алгоритм для обхода древа. Я понимаю что они есть в сети но цель была сделать его самому, хотя бы из говна и палок. Но не получилось.

    • @СергейРодионов-ь8щ
      @СергейРодионов-ь8щ 4 года назад

      @@artem2657 нечего было так быстро к ООП переходить

    • @artem2657
      @artem2657 4 года назад

      @@СергейРодионов-ь8щ Я учился по 12 часов в день каждый день. через 3 месяца я дошел до ООП. Я не виноват. Всё остальное я уже прошёл. С другими темами проблем не было особо. Функции не много ещё сложно понять для чего и как и т.д. и когда. Может вы и правы. Но теперь я вернулся в охрану за 11 тыщ ) не судьбаа

    • @kirillusenko
      @kirillusenko 4 года назад

      @@artem2657 я за полтора года уже пару библиотек выучил и алгоритмы не забываю) (практикуюсь пол дня)

    • @artem2657
      @artem2657 4 года назад

      @@kirillusenko А я сдался и ушел на завод работать.

  • @АндрейСелезнев-ш7т
    @АндрейСелезнев-ш7т 2 года назад

    толково

  • @jetstreamjack4485
    @jetstreamjack4485 6 месяцев назад

    классное видео

  • @legendteamfreewill9345
    @legendteamfreewill9345 4 года назад

    6:32.Можно обойти элементы картежа по значениям.Переведите на более понятный язык

  • @aku_motivation941
    @aku_motivation941 5 лет назад +6

    почему так мало лайков? курс очень понятный

    • @egoroffchannel
      @egoroffchannel  5 лет назад +13

      наверно стесняются ставить)

    • @Herifs
      @Herifs 4 года назад +1

      Но платный

    • @Эмиль-ь5ю
      @Эмиль-ь5ю 4 года назад +5

      @@Herifs Цена курса очень даже скромная и это того стоит

  • @geraltofrivia11
    @geraltofrivia11 4 года назад +2

    А как насчет серии уроков по алгоритмам? Особенно алгоритм Дийкстры

  • @dizelvinable
    @dizelvinable 5 лет назад +2

    Супер!) Наконец я понял, что это за звери такие - *args и **kwargs))

    • @thedmitryguy
      @thedmitryguy 4 года назад +1

      Еще изучаешь Питон?

    • @dizelvinable
      @dizelvinable 4 года назад

      @@thedmitryguy нее)) Из-за отсутствия времени (надо кормить семью) пришлось вернуться на PHP.)

    • @TordMattias
      @TordMattias 4 года назад

      @@dizelvinable А разве это не одно и тоже (программирование)

    • @dizelvinable
      @dizelvinable 4 года назад

      @@TordMattias Имеешь в виду, что PHP и Python - это одно и то же? Или я не так понял?

    • @TordMattias
      @TordMattias 4 года назад +1

      @@dizelvinable Нет конечно! Я про то что вы программируете только на РHP хотя могли и питон освоить

  • @drybin548
    @drybin548 4 года назад

    чееел, ты крут

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

    👏

  • @verdere5679
    @verdere5679 6 лет назад +4

    Очень качественно, спасибо, с меня подписка и лайк под каждым роликом. Я вот хочу книги заказать Простой Python. Современный стиль программирования(
    Билл Любанович) и Учим Python, делая крутые игры
    (Эл Свейгарт), как по твоему или может что подскажешь. И будут ли туториалы по библиотекам?

    • @egoroffchannel
      @egoroffchannel  6 лет назад +2

      Спасибо. Если нужна книга именно по самому питону, то однозначно Лутц "Изучаем python". По библиотекам я планирую снимать, но позже

    • @verdere5679
      @verdere5679 6 лет назад

      @@egoroffchannel спасибо, а она не устарела 2011 год, 4 издание ??? Или все нормально и актуально?

    • @egoroffchannel
      @egoroffchannel  6 лет назад

      @@verdere5679 есть 5я редакция, но на русском не знаю переведена или нет. Но в 4й описаны принципы, которые и актуальны и сейчас

    • @ПростоУлыбка-ш2о
      @ПростоУлыбка-ш2о 5 лет назад

      _я сам покупал книгу Эла Свейгарта. Очень хорошая. Купил бы еще "Автоматизация рутиных задач", но нет в электронном виде, только скан сомнительного качества =(_

    • @ПростоУлыбка-ш2о
      @ПростоУлыбка-ш2о 5 лет назад

      @@egoroffchannel по каким библиотекам будете делать уроки? может сделаете уроки по многопоточности (pool) и многозадачности (threading)? также хотелось бы увидеть уроки по sqlalchemy и/или по kivy, pyqt5

  • @бесполезный-м1б
    @бесполезный-м1б Год назад

    а как возвращать из одной функции другой, избегая упаковку в кортеж?

  • @rusjazz86
    @rusjazz86 4 года назад

    А как ставить верхнюю звездочку на клавиатуре на macOS?

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

    Можно было просто print(sum(args)) сделать без for цикла

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

    Видео уже 4 года, а я только сейчас начал изучать. Реально ли догнать?

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

      мы тут все такие

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

    А чё это видео с передачей аргументов могут только спонсоры смотреть (

  • @alexanderglad1070
    @alexanderglad1070 6 лет назад

    отличный курс, спасибо. Хотелось бы только узнать, можно ли как-то без перебора обратиться с аргументам? Пишет TypeError: 'dict_keys' object does not support indexing.

    • @alexanderglad1070
      @alexanderglad1070 6 лет назад

      прошу прощения, сам себя передумал) забыл что мы сразу работаем с кортежем и словарем)

    • @egoroffchannel
      @egoroffchannel  6 лет назад

      @@alexanderglad1070 я так понимаю все хорошо, и уже все стало ясно?)

    • @alexanderglad1070
      @alexanderglad1070 6 лет назад

      @@egoroffchannel да, спасибо)

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

    Распакоука на*** (с)

  • @ПавлоКабай
    @ПавлоКабай 4 года назад

    норм

  • @pampam6739
    @pampam6739 4 месяца назад

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

  • @АяулымШакирова-л6р
    @АяулымШакирова-л6р 3 года назад

    Можете сказать переменная в python-это
    Величина которая не имеет имя тип и значение
    Значение которое не имеет имя
    Величина которая имеет имя но не имеет тип и значение
    Значение которое имеет имя

  • @МатвейЛ-х6п
    @МатвейЛ-х6п 4 года назад

    Здравствуйте, подскажите почему не проходит тест(stepik.org/lesson/372076/step/3?unit=359630) моя программа.
    def print_goods(*args):
    nomber = 1
    a = 0
    for i in args:
    if type(i) == str and i != '':
    print(f"{nomber}. {i}")
    nomber += 1
    a += 1
    else:
    if a == 0:
    print("Нет товаров")
    break

    • @egoroffchannel
      @egoroffchannel  4 года назад

      print_goods(1, True, 'Грушечка', '', 'Pineapple')
      посмотри как у тебя программа работает при таких данных

  • @coxxx1966
    @coxxx1966 5 лет назад +1

    Напоминает указатели и ссылки в С++

    • @egoroffchannel
      @egoroffchannel  5 лет назад

      да, есть некоторое сходство.

  • @artemzaecev7751
    @artemzaecev7751 4 года назад

    Не пойму какой смысл последнего примера, если его нельзя присвоить в переменную? Если написать b = *a, будет ошибка.

    • @egoroffchannel
      @egoroffchannel  4 года назад

      а что в ошибке пишет?
      видел твое сообщение на патреоне, но пока не могу зайти ответить

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

      Не очень понятно, каким образом передача елементов последовательности в функцию в качестве отдельных аргументов с помощью распаковки (что и было показано в последнем примере) может быть связана с попыткой присвоить распакованную последовательность переменной.
      b = *a несет мало смысла, т.к., если бы и сделали такую операцию возможной, то распакованные справа элементы, которые образовали бы в данном случае кортеж, были бы в виде кортежа и присвоены переменной слева (т.е. распаковки-то как таковой и не произойдет) - так в чем тогда смысл сего действия, если для получения кортежа из других последовательностей есть функция tuple()?
      Но если, все таки, почему-то очень хочется такое проделать через оператор распаковки, то можно так записать b = (*a,) или без скобок b = *a, (не забыть поставить после распаковываемого элемента запятую) - и такая команда никакой ошибки не даст.

  • @MsRoksalana
    @MsRoksalana 3 месяца назад

  • @xXx-ws1gb
    @xXx-ws1gb 3 года назад

    Так * это типо указатель?

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil 3 года назад

      нет
      это в С так
      здесь это знак упаковки распаковки

  • @АйсуКазымова-в4т
    @АйсуКазымова-в4т 4 года назад

    Почему у меня в предыдущих видео пишется: "Это видео могут смотреть только спонсоры уровня Middle и выше" ?((

    • @egoroffchannel
      @egoroffchannel  4 года назад +1

      Они доступны только спонсорам канала

    • @Ю_Т-ц9ж
      @Ю_Т-ц9ж 4 года назад

      @@egoroffchannel как можно стать спонсором канала у меня не высвечивается кнопка "спонсорство"

    • @TordMattias
      @TordMattias 4 года назад

      @@Ю_Т-ц9ж Попробуйте поискать ссылки под видео на stepic и bosty

  • @daulet8189
    @daulet8189 4 года назад

    1

  • @Herifs
    @Herifs 4 года назад +1

    11:00 а я всегда for пользовался:/

    • @Koshsky-f7y
      @Koshsky-f7y 4 года назад

      Ещё два однострочные варианта могу накинуть)
      print(" ".join(a))
      И
      [print(i, end=" ") for i in a]

    • @Koshsky-f7y
      @Koshsky-f7y 4 года назад

      Но лучше всего
      print(*a)

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

    Очень много воды

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

    Это -ж какая гадина - дизлайки ставит?

  • @Andrei-eh8ww
    @Andrei-eh8ww 3 года назад

    А как же мелкие нюансы? Что перед *args, нельзя **kwargs и существует порядок. Что можно передать словарь, который сразу установит значения(или создаст), а как насчёт того что *args не ставится перед обязательными параметрами etc.

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

    Спасибо!