Ad banner
Ad banner

Уроки Python с нуля / #18 – Конструкторы, переопределение методов

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

✅ Полезные ссылки:
– Урок на сайте itProger:

⏰ Тайм коды:
00:00 – Начало
00:17 – Что такое конструктор?
00:53 – Создание конструктора
02:15 – Передача данных
02:54 – Вывод информации
04:45 – Переопределение методов
08:33 – Заключительная часть

✔ Сообщество программистов:

✔ ————-
Вступай в группу Вк – 🚀
Инстаграм itProger:

Группа FaceBook –
Instagram:
Telegram:
Twitter –

– Уроки от #itProger 👨🏼‍💻
– Все уроки по хештегу #itprogerLessons

(Visited 111 times, 1 visits today)

You Might Be Interested In

Комментарии (39)

  1. 6:25 дружище, с конструктором внутри класса приведенное переопределение не работает. Если конструктор закомментировать, а с объектом работать через cat1.set_data("John", 2), тогда работает. Тот ли модуль ты исполняешь, раз на протяжении всего урока ничего не меняется? Бро, это не предъява, я пытаюсь разобраться. Вот у себя изменил код. как описал выше, все заработало. В точности с твоим кодом – не работает. И сразу ответ, разобравшись: переопределение нужно указывать в конструкторе, а не в методе. Спасибо!

  2. я совсем зеленый в этом деле. только третий день. Я не понял одного. вот если мы не ставим последний параметр к коту, то отображается None. а вот если допустим не ввести имя, то следующие параметры слетают. Т.е. возраст улетает на имя, настроение улетает на возраст, а настроение остается None. Знающие, подскажите как исправить. буду благодарен

  3. не спішіть все розуміти, я переглянула всі ці уроки ще 8 місяців тому і довго практикувалась і тільки зараз дойшла до ООП і коли ти вже достатньо засвоїв попередні теми на практиці то це вже не буде даватись так складно..

  4. Толи пример не удачный.
    Толи это очередная реинкорнация выборки/сортировки данных.
    Как я понял .
    Есть два котика.
    У каждого по три параметра.
    Эти параметры прописаны для каждого котика персонально.
    Тоесть, как не вертись, некие данные надо вводить.
    Потом куча манипуляций.
    И на выходе распечатка параметров этих котиков.
    По идеи, это в 4 строчки можно запихать.
    Две с котиками.
    Две с принтами.
    Увеличиваем количество котиков, также увеличивается количество писанины.
    Как по мне, тут рациональное приделать цикл, который будет считывать данные о котиках и распечатывать.

  5. Как приятно подкреплять полученные от Вас знания сразу на практике! Банально переписать код из урока самостоятельно – так лучше запоминается.

  6. Всем привет у кого такая же проблема как и у меня я делаю всё как в видео но у меня в терминале ничего нету не результата ни ошибок что делать?(

  7. Не могу понять смысл переопределения метода? Смысл переопределять если на экран выводятся те же 3 параметра(барсик,3,True)?вот мы прописали ниже (John ,2, False), а выводится на экран все равно барсик. Или это опечатка автора, что то недоделано, или я не могу понять зачем переопределять метод. Я так понял – у нас было – барсик,3, True, и потом мы переопределяем на John,2 и соответсвенно должно поменять барсик на John, 3 на 2, а True остаться? Типа поменяли всего два параметра а третий остался как был. Так ведь? В этом смысл?

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

  9. Функция _init_ – это инициализация. Но хотя это тоже является хоть каким, но никаким конструктором. Но правильнее будет называть функцию _init_ инициализацией

  10. Подскажите кто-нибудь пожалуйста!
    Сделал также как на 4:41 но в строке с функцией def set_data вылазит ошибка из-за отступов, что делать не очень понимаю

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

  12. Чтобы питон был понятен посмотрите уроки на более сложные языки, на пример С# или Java. Я сам с Java и мне все абсолютно понятно! Ведь на джаве очень строгая типизация и все разжёвывается компайлеру что сам все понимаешь сразу.

  13. PyCharm подчеркивает isHappy в __init__, просит сделать в нижнем регистре.
    Кстати, вместо __init__, благодаря подсказчику набрал __int__, минут 10 тупил в чём ошибка

  14. Ща упростим:
    Добавляем ещё одну функцию, а две другие также оставляем, просто скрываем их__))))))
    Упростили с кайфом!

  15. Забавно, учитель упорно нарушает стандарты PEP8 в самых принципиальных местах. Дефолтные параметры при назначении пробелами от равенства не отедляются.

  16. если кому то всё ещё непонятно, то по факту конструктор _init_ придаёт нужные вам параметры в класс, и по желанию так-же переопределяет любые методы которые вы хотите, и всё это намного упрощает и сокращает код, вместо того чтобы писать по несколько переменных и строк, для того чтобы всего лишь вывести значение

  17. Если вводить только возраст и значение True, то выводит: "имя: 2 Возраст: True Счастлив: None". Как сделать чтоб нормально работал и понимал, что нет данных именно об имени?

  18. Добрый день! Смазался урок. Не понял, как количество переменных передаваемых в set_data можно использовать? Ну допустим передали 2 переменные или одну. Они будут записаны как последовательные парамметры в методе. Кстаати! Использование None работает только в конструкторе. У меня так по крайней мере.
    Урок требует дополнительного ковыряния и изучение ошибок( на 3-ку. Но… может это и хорошо. Т.к. к 18 уроку уже есть понимание где искать ошибки)
    Спасибо! А так все отлично!

  19. Переопределение методов происходит в подклассе при наследовании. Вы показываете установку значений по умолчанию для параметров функции. Хороший курс, но местами путаница в определениях.

Post A Comment For The Creator: Школа itProger / Программирование

Ваш адрес email не будет опубликован. Обязательные поля помечены *