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

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 136

  • @egoroffchannel
    @egoroffchannel  6 місяців тому

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

  • @drarov91
    @drarov91 Рік тому +24

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

  • @ramazanberik5602
    @ramazanberik5602 3 роки тому +35

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

    • @GG-gw5uz
      @GG-gw5uz 2 роки тому +1

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

  • @sofiipochta
    @sofiipochta Рік тому +1

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

  • @reclreclur7203
    @reclreclur7203 Рік тому +1

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

  • @Dmitrii-Zhinzhilov
    @Dmitrii-Zhinzhilov 2 роки тому +6

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

  • @РиммаБарк-ы4с
    @РиммаБарк-ы4с 4 роки тому +32

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

  • @marynasamonenko7302
    @marynasamonenko7302 7 місяців тому

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

  • @dimitrylenchevsky426
    @dimitrylenchevsky426 4 роки тому +9

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

  • @champloot
    @champloot 2 роки тому +4

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

  • @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

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

  • @kgfkg2743
    @kgfkg2743 3 роки тому +4

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

  • @supervichka7764
    @supervichka7764 3 роки тому +4

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

  • @artemseleznev3469
    @artemseleznev3469 Рік тому

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

  • @adidaspumovich9890
    @adidaspumovich9890 2 роки тому +1

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

  • @nastyapivchik
    @nastyapivchik 2 роки тому +3

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

  • @peronium_
    @peronium_ 3 роки тому +7

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

  • @ВалерияМалышева-ь1в

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

  • @whiteafrican3692
    @whiteafrican3692 4 роки тому +5

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

  • @abdulazizumarov8287
    @abdulazizumarov8287 3 роки тому +3

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

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

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

  • @АндрейХмелёв-н7ы
    @АндрейХмелёв-н7ы 4 роки тому +6

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

  • @pallumella
    @pallumella 4 роки тому +4

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

  • @mountaineagle966
    @mountaineagle966 Рік тому +2

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

  • @graddoc3822
    @graddoc3822 Рік тому +1

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

  • @MixiPri
    @MixiPri Рік тому

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

  • @Wikkingg
    @Wikkingg 2 роки тому +1

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

  • @MrWarious
    @MrWarious 3 роки тому +2

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

  • @Александр-н5ю3с
    @Александр-н5ю3с 2 роки тому

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

  • @andriiew325
    @andriiew325 4 роки тому +7

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

  • @logan7280
    @logan7280 4 роки тому +18

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

    • @kaltsdaniil8378
      @kaltsdaniil8378 4 роки тому +9

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

    • @kaltsdaniil8378
      @kaltsdaniil8378 3 роки тому +1

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

  • @VladimirGavr
    @VladimirGavr 3 роки тому

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

  • @yodapunishes
    @yodapunishes 5 років тому +5

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

  • @egorpython9683
    @egorpython9683 4 роки тому +2

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

    • @egoroffchannel
      @egoroffchannel  4 роки тому +4

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

  • @alibekjusupov9577
    @alibekjusupov9577 3 роки тому +1

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

  • @vasiliyovchinnikov1731
    @vasiliyovchinnikov1731 2 роки тому +3

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

  • @NikDev19
    @NikDev19 4 місяці тому

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

  • @Cmpanik1999
    @Cmpanik1999 6 років тому +12

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

  • @suprun1982
    @suprun1982 5 років тому +2

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

  • @Koleannnn9494
    @Koleannnn9494 5 місяців тому

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

  • @BaraBarinov
    @BaraBarinov 3 роки тому

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

  • @uu7221
    @uu7221 3 роки тому +1

    спасииибо

  • @osvab000
    @osvab000 4 роки тому +6

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

  • @Cycle329
    @Cycle329 4 роки тому +3

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

  • @artemkorotkov9770
    @artemkorotkov9770 3 роки тому

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

  • @ocean1487
    @ocean1487 2 роки тому +1

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

  • @lawkz
    @lawkz 2 роки тому

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

  • @landfathich
    @landfathich Рік тому

    видео класс!

  • @aydaryakup4540
    @aydaryakup4540 Рік тому

    супер урок

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

    Спасибо!!!

  • @mazdai14
    @mazdai14 Рік тому

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

  • @geraltofrivia11
    @geraltofrivia11 4 роки тому +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 Цена курса очень даже скромная и это того стоит

  • @aslanzurabov3755
    @aslanzurabov3755 4 роки тому

    хороший урок

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

    толково

  • @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 А я сдался и ушел на завод работать.

  • @drybin548
    @drybin548 4 роки тому

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

  • @nikolaydd6219
    @nikolaydd6219 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 хотя могли и питон освоить

  • @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б

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

  • @rusjazz86
    @rusjazz86 4 роки тому

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

  • @Larriva666
    @Larriva666 Рік тому

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

    • @AXGroser
      @AXGroser Рік тому

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

  • @АяулымШакирова-л6р

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

  • @alexanderglad1070
    @alexanderglad1070 6 років тому

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

    • @alexanderglad1070
      @alexanderglad1070 6 років тому

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

    • @egoroffchannel
      @egoroffchannel  6 років тому

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

    • @alexanderglad1070
      @alexanderglad1070 6 років тому

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

  • @AskarAlmazovich
    @AskarAlmazovich 3 роки тому +1

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

  • @МатвейЛ-х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 років тому

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

  • @MsRoksalana
    @MsRoksalana 3 місяці тому

  • @pampam6739
    @pampam6739 4 місяці тому

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

  • @ПавлоКабай
    @ПавлоКабай 4 роки тому

    норм

  • @artemzaecev7751
    @artemzaecev7751 4 роки тому

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

    • @egoroffchannel
      @egoroffchannel  4 роки тому

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

    • @eugene_na_tytrube
      @eugene_na_tytrube 2 роки тому

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

  • @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

  • @WooZeeMoo
    @WooZeeMoo Рік тому

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

  • @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)

  • @OlegFantik
    @OlegFantik 3 роки тому

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

  • @daulet8189
    @daulet8189 4 роки тому

    1

  • @Andrei-eh8ww
    @Andrei-eh8ww 3 роки тому

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

  • @CaverFast
    @CaverFast Рік тому +1

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

  • @osvab000
    @osvab000 4 роки тому +3

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

  • @seforaabigail6704
    @seforaabigail6704 2 роки тому

    Спасибо!