40 *args и **kwargs Python. Передача аргументов в функцию
🔥🔥🔥 Инди-курс по Python 🔥🔥🔥
stepik.org/course/63085/promo
👉👉👉 Свой вопрос по курсу можешь задать в чате
t.me/+SlnNhAO7caBlNDM6
👉👉👉 Также подписывайся на мой телеграмм-канал
t.me/python_egoroff
egoroffartem.pythonanywhere.co...
Функции - это многократно используемые фрагменты программы. При помощи функций можно объединить несколько инструкций в один блок, присвоить этому блоку имя и затем, обращаясь по имени этого блока, выполнить инструкции внутри него в любом месте программы необходимое число раз.
Чтобы функция могла принимать неопределенное количество аргументов, нужно в определении функции создать перемененную *args. Операция "*" упакует все переданные значения в кортеж с именем args.
egoroffartem.pythonanywhere.co...
На сайте будет выкладываться более подробная информация о данном курсе и будущих видео.
Все видео этого курса можете найти на сайте
egoroffartem.pythonanywhere.co...
или в Вк
videos-177962775?secti...
Если кому нужна помощь, предлагаю индивидуальные занятия. Подробнее пишите в личку в вк
artem_egoroff
python.study
В данном группе можете найти информацию о новых видео и задать вопросы
Пікірлер: 132
🫵 Теория без практики - ничто, поэтому 👇 🐍 stepik.org/course/63085/promo 👉 специально для тебя создал бесплатный топовый курс по Python 👉 В нем тебя ждет: 📗 более 400 практических заданий на программирование 📗 более 250 тестовых заданий на проверку материала 📗 десятки часов видеоматерилов по теории 📗 видеоразборы решения заданий 📗 текстовые материалы по урокам, примеры кода 📗 доступ к закрытому чату с дружественной обстановкой 📗 сертификат в случае успешного прохождения курса
После этого урока я полностью для себя переосмыслил args и kwargs! Никто не рассказывает даже в платных курсах как эти параметры упаковываются и распаковываются!
Очень нравится, как Артём объясняя тему переходит от простого к сложному. Не только в этом уроке, но и во многих других. Начали урок с элементарного a, *b = [1, 2, 3] и закончили полным пониманием что такое *args **kwargs и зачем они нужны.
@Das.Kleine.Krokodil
2 жыл бұрын
да это круто по науке, по педагогике
вы молодец, посмотрел видеоурок из платного курса, немного не понял некоторые моменты, но смог исправить это благодаря вашему БЕСПЛАТНОМУ уроку, объяснили всё доходчиво и грамотно, обязательно лайкну и подпишусь
@GG-gw5uz
Жыл бұрын
У меня также, все очень понятно объясняете
Я проходил молодое поколение Python, ни шиша не понимал, а на вашем канале все понятно, человеческое спасибо Вам!
Артём, огромное спасибо! Вы большой МОЛОДЕЦ! Всё очень ясно и актуально.
Блин, огромное спасибо! Я перерыл кучу сайтов, но не нашёл нормального объяснения. Хорошо что есть такие лекции).
Артём, благодарю! 👍🔥🔥🔥🔥 отлично методически подан материал, отличная динамика, дикция, примеры 💯💣
Спасибо что вы есть. Это лучший канал по питон на мой взгляд, прохожу курс офлайн по питон у себя в городе, а сюда потом еще зайти и шлифануть знания, все прям встает на свои места в голове.
Спасибо, Артем, за 40 -й урок!
обожаю этот канал! так легко и понятно мало кто может объяснить материал!
Пожалуй, лучший канал по питону. Столько благодаря ему понял...
спасибо тебе мощьно объяснил четко ясно кратко без воды
Спасибо за урок! Все очень подробно раскрыто.
Очень круто объясняете, спасибо!
Братан спасибо большое смотрю уже месяц твои видосы, решил коммент оставить. Ты лучший)
классно и круто ОГРОМНЫЙ ЛАЙКОС!!!!
Очень доступно и понятно. Спасибо тебе!!!!
Егоров Артем - один из самых талантливых ютуберов! очень всё подробно и понятно!
@Das.Kleine.Krokodil
2 жыл бұрын
согласен всё чётко, по полочкам
Спасибо! Максимально доступно и понятно.
очень доходчиво объяснили. Спасибо
4 года прошло с момента публикации ролика, а я все также восхищен автором!!!
круто разжевано) спасибо огромное😁
Лучший питонячий курс для начинающих.
Спасибо, очень полезный урок.
хорошо разживал мощный лайк продолжай в том же духе
Очень спасибо тебе за такие классные уроки
Всегда думал , что за божий дар денег не берут. В эксрасенсов и шарлатанов не верю. Но у Егора реально дар рассказывать просто о сложном, и делает это бесплатно. Но как после такого не задонатить человеку :)
Прикольно, не знал, что звёздочка такая полезная
Очень классно объясняешь, жаль что многие уроки платные(
@kaltsdaniil8378
4 жыл бұрын
Скажи спасибо,что Артём большую часть уроков бесплатно нам даёт смотреть)
@kaltsdaniil8378
3 жыл бұрын
@@network_sw платную инфу можно в интернете найти
Спасибо за уроки... но тут ошибка... 9.55 - sep и end были переданы в качестве аргумента, по факту у принта остались пробел и разделителями. правильнее было указывать sep=sep, end=end.
Офигенно! Спасибо большое!
Спасибо за курс!)
@egoroffchannel
5 жыл бұрын
Не за что)
спасибо, отличные уроки! с нуля начал обучение
@egoroffchannel
3 жыл бұрын
Спасибо за поддержку!)
не чего не замудрил все четко и по полочкам !! другие видео смотрел и читал литературу там эти kwargsi argsi замудрили пипец тут я все понял !! Спасибо
Ты просто крут, парень!!) От души!
Спасибо, посмотрела!
Спасибо, очень помогли 👍
Спасибо, можно было бы в конце даже такой пример: a=range(10) print(*a, type(a))
Спасибо за лайфхак))
Молодец Артем! Молодец! Спасибо тебе!
спасииибо
Огромное спасибо, реально доходчиво объяснил. паралельно читаю "Укус Питона", в целом отличная книга, но именно эта тема очень плохо(как на меня) обьяснена(впринцепе смотрел оригинал, там тоже не всё так легко описывают). Эта тема доставила хлопот, что бы разобраться. Спасибо огромное!!!!
@user-bd5qb4gl5g
2 жыл бұрын
Такая же история
Огромное спасибо!
Спасибо!!!
Спасибо!
Понятно , как таблица умножения
супер урок
видео класс!
просто лучший!
Спасибо про * не знал)
хороший урок
классное видео
толково
лучший
Спасибо за урок, но я бы не пользовался таким присвоением.
А как насчет серии уроков по алгоритмам? Особенно алгоритм Дийкстры
чееел, ты крут
👏
А как ставить верхнюю звездочку на клавиатуре на macOS?
Очень качественно, спасибо, с меня подписка и лайк под каждым роликом. Я вот хочу книги заказать Простой Python. Современный стиль программирования( Билл Любанович) и Учим Python, делая крутые игры (Эл Свейгарт), как по твоему или может что подскажешь. И будут ли туториалы по библиотекам?
@egoroffchannel
5 жыл бұрын
Спасибо. Если нужна книга именно по самому питону, то однозначно Лутц "Изучаем python". По библиотекам я планирую снимать, но позже
@verdere5679
5 жыл бұрын
@@egoroffchannel спасибо, а она не устарела 2011 год, 4 издание ??? Или все нормально и актуально?
@egoroffchannel
5 жыл бұрын
@@verdere5679 есть 5я редакция, но на русском не знаю переведена или нет. Но в 4й описаны принципы, которые и актуальны и сейчас
@user-li5ls7gu5z
5 жыл бұрын
_я сам покупал книгу Эла Свейгарта. Очень хорошая. Купил бы еще "Автоматизация рутиных задач", но нет в электронном виде, только скан сомнительного качества =(_
@user-li5ls7gu5z
5 жыл бұрын
@@egoroffchannel по каким библиотекам будете делать уроки? может сделаете уроки по многопоточности (pool) и многозадачности (threading)? также хотелось бы увидеть уроки по sqlalchemy и/или по kivy, pyqt5
почему так мало лайков? курс очень понятный
@egoroffchannel
5 жыл бұрын
наверно стесняются ставить)
@Herifs
4 жыл бұрын
Но платный
@user-un6bi5hq5d
4 жыл бұрын
@@Herifs Цена курса очень даже скромная и это того стоит
6:32.Можно обойти элементы картежа по значениям.Переведите на более понятный язык
отличный курс, спасибо. Хотелось бы только узнать, можно ли как-то без перебора обратиться с аргументам? Пишет TypeError: 'dict_keys' object does not support indexing.
@alexanderglad1070
5 жыл бұрын
прошу прощения, сам себя передумал) забыл что мы сразу работаем с кортежем и словарем)
@egoroffchannel
5 жыл бұрын
@@alexanderglad1070 я так понимаю все хорошо, и уже все стало ясно?)
@alexanderglad1070
5 жыл бұрын
@@egoroffchannel да, спасибо)
Я сейчас учу пайтон с нуля. Это мой первый язык. И у меня первое время было такое ощущение каждый день * Ааа а можно и так делать ! Круто* Но когда я такое начал ощущать раз 30 и 50 уже мне стало страшно потому что как можно запомнить все эти фишки ? У меня половина уже из того что я видел * Ааа а можно так ! * Уже забыл. Тупо из за большого количества информации которой порой и конца не видно.
@artem2657
4 жыл бұрын
@FIRE END Я уже бросил к сожалению. Когда ООП изучал не смог придумать алгоритм для обхода древа. Я понимаю что они есть в сети но цель была сделать его самому, хотя бы из говна и палок. Но не получилось.
@user-js9if2uc5r
4 жыл бұрын
@@artem2657 нечего было так быстро к ООП переходить
@artem2657
4 жыл бұрын
@@user-js9if2uc5r Я учился по 12 часов в день каждый день. через 3 месяца я дошел до ООП. Я не виноват. Всё остальное я уже прошёл. С другими темами проблем не было особо. Функции не много ещё сложно понять для чего и как и т.д. и когда. Может вы и правы. Но теперь я вернулся в охрану за 11 тыщ ) не судьбаа
@kirillusenko
4 жыл бұрын
@@artem2657 я за полтора года уже пару библиотек выучил и алгоритмы не забываю) (практикуюсь пол дня)
@artem2657
4 жыл бұрын
@@kirillusenko А я сдался и ушел на завод работать.
Супер!) Наконец я понял, что это за звери такие - *args и **kwargs))
@thedmitryguy
3 жыл бұрын
Еще изучаешь Питон?
@dizelvinable
3 жыл бұрын
@@thedmitryguy нее)) Из-за отсутствия времени (надо кормить семью) пришлось вернуться на PHP.)
@user-gm8kf7jj1d
3 жыл бұрын
@@dizelvinable А разве это не одно и тоже (программирование)
@dizelvinable
3 жыл бұрын
@@user-gm8kf7jj1d Имеешь в виду, что PHP и Python - это одно и то же? Или я не так понял?
@user-gm8kf7jj1d
3 жыл бұрын
@@dizelvinable Нет конечно! Я про то что вы программируете только на РHP хотя могли и питон освоить
а как возвращать из одной функции другой, избегая упаковку в кортеж?
норм
Можно было просто print(sum(args)) сделать без for цикла
Распакоука на*** (с)
Видео уже 4 года, а я только сейчас начал изучать. Реально ли догнать?
@AXGroser
Жыл бұрын
мы тут все такие
Здравствуйте, подскажите почему не проходит тест(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
3 жыл бұрын
print_goods(1, True, 'Грушечка', '', 'Pineapple') посмотри как у тебя программа работает при таких данных
1
Можете сказать переменная в python-это Величина которая не имеет имя тип и значение Значение которое не имеет имя Величина которая имеет имя но не имеет тип и значение Значение которое имеет имя
Напоминает указатели и ссылки в С++
@egoroffchannel
5 жыл бұрын
да, есть некоторое сходство.
Не пойму какой смысл последнего примера, если его нельзя присвоить в переменную? Если написать b = *a, будет ошибка.
@egoroffchannel
4 жыл бұрын
а что в ошибке пишет? видел твое сообщение на патреоне, но пока не могу зайти ответить
@eugenesemin4082
2 жыл бұрын
Не очень понятно, каким образом передача елементов последовательности в функцию в качестве отдельных аргументов с помощью распаковки (что и было показано в последнем примере) может быть связана с попыткой присвоить распакованную последовательность переменной. b = *a несет мало смысла, т.к., если бы и сделали такую операцию возможной, то распакованные справа элементы, которые образовали бы в данном случае кортеж, были бы в виде кортежа и присвоены переменной слева (т.е. распаковки-то как таковой и не произойдет) - так в чем тогда смысл сего действия, если для получения кортежа из других последовательностей есть функция tuple()? Но если, все таки, почему-то очень хочется такое проделать через оператор распаковки, то можно так записать b = (*a,) или без скобок b = *a, (не забыть поставить после распаковываемого элемента запятую) - и такая команда никакой ошибки не даст.
Почему у меня в предыдущих видео пишется: "Это видео могут смотреть только спонсоры уровня Middle и выше" ?((
@egoroffchannel
4 жыл бұрын
Они доступны только спонсорам канала
@user-kl1cj9id5l
3 жыл бұрын
@@egoroffchannel как можно стать спонсором канала у меня не высвечивается кнопка "спонсорство"
@user-gm8kf7jj1d
3 жыл бұрын
@@user-kl1cj9id5l Попробуйте поискать ссылки под видео на stepic и bosty
Так * это типо указатель?
@Das.Kleine.Krokodil
2 жыл бұрын
нет это в С так здесь это знак упаковки распаковки
11:00 а я всегда for пользовался:/
@user-iy6vk4pn1j
3 жыл бұрын
Ещё два однострочные варианта могу накинуть) print(" ".join(a)) И [print(i, end=" ") for i in a]
@user-iy6vk4pn1j
3 жыл бұрын
Но лучше всего print(*a)
А чё это видео с передачей аргументов могут только спонсоры смотреть (
А как же мелкие нюансы? Что перед *args, нельзя **kwargs и существует порядок. Что можно передать словарь, который сразу установит значения(или создаст), а как насчёт того что *args не ставится перед обязательными параметрами etc.
Это -ж какая гадина - дизлайки ставит?
Очень много воды