#2. Методы классов. Параметр self | Объектно-ориентированное программирование Python

Поделиться
HTML-код
  • Опубликовано: 14 ноя 2021
  • Курс по Python ООП: stepik.org/a/116336
    Добавляем методы в классы. Вызов методов через класс и его экземпляры. Параметр self. Зачем нужен и за что отвечает.
    Плейлист по Python ООП: • Объектно-ориентированн...
    Инфо-сайт: proproprogs.ru/python_oop
    Telegram-канал: t.me/python_selfedu

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

  • @annashcherbakova1202
    @annashcherbakova1202 2 года назад +214

    Вы - первый человек, который смог понятно объяснить, что такое self!

    • @user-bh8qg5gq7b
      @user-bh8qg5gq7b 10 месяцев назад +12

      Подтверждаю, как человек, оканчивающий курс Яндекс.Практикума.

    • @EvvA
      @EvvA 8 месяцев назад

      @@user-bh8qg5gq7b я сейчас там учусь и все равно не понимал, нахрен мне нужен "self"!

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

      согласен

    • @user-cb1kz3mv7j
      @user-cb1kz3mv7j 4 месяца назад +3

      Присоединяюсь. И очень благодарю. На многих курсах уроки и объяснения составляют люди, для которых все это очевидно. И им сложно объяснить так, чтобы мы, новички, все поняли. Помимо понимания self я для себя еще важное получил.
      Наконец уложилось в голове, что такое Атрибуты. А то никто не акцентирует на этом внимания. И я долго не мог понять, постоянно путал их то со свойствами, то с параметрами. А оказалось, что атрибуты - это все что входит в класс, т.е. методы и свойства - это все атрибуты класса.
      А параметры - это то, что указывают в скобках при вызове функции. Функцию можно вызвать как с параметром так и без. В общем, уложилось наконец. Спасибо вам!

    • @Alpha-su8ti
      @Alpha-su8ti 3 месяца назад +2

      self показывает что какая-то уйня относится к конкретно этому экземпляру класса, что тут непонятного)))

  • @jeyhunaze7628
    @jeyhunaze7628 Год назад +68

    Вы реально тот единственный человек, который смог объяснить, что такое self. Спасибо большое!!!!

    • @pwufora
      @pwufora Год назад +5

      return и self были наверное всегда сложнейшими для новичком

    • @yuliyaparamonova5596
      @yuliyaparamonova5596 Год назад +5

      @@pwufora На счет ретерн не согласен, а вот наследование...

    • @pwufora
      @pwufora Год назад +4

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

  • @djpatronrussia
    @djpatronrussia Год назад +16

    Я думал, что понимание ООП будет очень сложным.... Уже отчаялся... но тут наткнулся на Ваши видео уроки! И не устану писать Вам. Большое Спасибо! За Ваш бесценный труд!

  • @freeforrussia
    @freeforrussia 2 года назад +72

    Сергей! Огромное спасибо за то время, которое вы тратите на наше просвещение! Спасибо с поклоном до земли!

  • @user-yu2sq8fc3e
    @user-yu2sq8fc3e 2 года назад +14

    Первое нормальное объяснение параметра self, которое нашел. Где до этого не читал, как-то мутно все объясняли, и не понятно, когда его ставить, когда нет. Спасибо!

  • @user-nb1xf5ng4u
    @user-nb1xf5ng4u 2 года назад +56

    Вы просто спасатель для новичков
    Огромное вам спасибо за такой огромный вклад в наше будущее !

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

    Поддерживаю всех кто Вас хвалит. Много информации по классам и непосредственно self прочитал, до того как Вам удалось объяснить его функционирование.

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

    Лучшая серия уроков по ООП. Автор, спасибо вам за эти прекрасные ролики. Теперь всё стало по полочкам

  • @vld7395
    @vld7395 Год назад +6

    Голос как будто сказку рассказываете, приятный очень

  • @maximsalnikov174
    @maximsalnikov174 Месяц назад +1

    Как же Вы понятно объясняете! Успехов и здоровья!

  • @user-jo5ij6df1d
    @user-jo5ij6df1d Год назад +6

    Очень хорошо и доступно всё "разжёвано", но как же трудно это проглотить!

  • @user-em6fx1cg1m
    @user-em6fx1cg1m Год назад +3

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

  • @Nfix106
    @Nfix106 2 месяца назад +1

    Идеально - тема с self раскрыта спасибо)!
    Я конечно знал про self, но соглашусь со многими, в большинстве мануалов по ооп на Python, тема с self не раскрывается, обычно говорят, что пишите ее и все будет гуд.😊

  • @kotsba
    @kotsba 2 года назад +36

    Изучал основы Python в рамках курса SkillBox и никак не мог до конца понять, как работает self и зачем ее везде пихать в описании класса. Очень смутное понимание было, что она ссылается куда-то, но не догонял, что это ссылка на объект класса, который мы создадим в будущем. Спасибо за подробное разжевывание! Как устроюсь на работу по новому профилю, буду регулярно донатить этому каналу)))

    • @firston5360
      @firston5360 Год назад +3

      *ссылка на экземпляр класса

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

      @@firston5360 это одно и тоже умник - душнила

    • @user-xz2gl5mx9t
      @user-xz2gl5mx9t Год назад +1

      @@fresh_wind87 Чел это две разные вещи, не говори если не знаешь правды

    • @JohnnyBGoode-fc8gw
      @JohnnyBGoode-fc8gw Год назад +2

      @@user-xz2gl5mx9t Объект и экземпляр класса это действительно одно и тоже.

    • @user-dj4np3gg9y
      @user-dj4np3gg9y Год назад

      Устроился на работу?

  • @ots-1003
    @ots-1003 Год назад +10

    Сергей, тут уже написанно миллион комментов, но я не могу не сказать!
    Огромнейшее вам спасибо! Я сейчас прохожу платные курсы, до этого было более-менее понятно, я подкреплял всё из других источников тоже, но вот на ООП просто застопорился. Я никак не мог понять, что такое self, для чего он нужен, откуда это всё идет и вот я нашел ваше видео! Я БУКВАЛЬНО ПРОЗРЕЛ! ТЕПЕРЬ Я ПОНИМАЮ, ЧТО ДЕЛАЮ, А НЕ ПИШУ МЕХАНИЧЕСКИ! Я чувствовал себя очень подавленно от того, что никак не мог понять и мотивация ушла в ноль просто! Вы вернули мне веру в себя и я понял, что я не так уж и туп, просто мне плохо объяснили! Спасибо огромное, вы прирожденый учитель, который действительно понимает, как надо работать с учащимися!!

  • @nikolayagababyan5299
    @nikolayagababyan5299 Год назад +4

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

  • @artemvolosnov7510
    @artemvolosnov7510 2 года назад +6

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

  • @user-rp7sg6eo4b
    @user-rp7sg6eo4b 4 месяца назад +5

    После таких классных уроков даже мой кот Васька объяснит Шарику на улице что такое ООП .

  • @romanp1521
    @romanp1521 2 года назад +55

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

  • @user-hz6jz5hx1z
    @user-hz6jz5hx1z 6 месяцев назад +1

    Спасибо Вам ! В момент просмотра Ваших видео в голове случаются просветления. Никто лучше Вас не объяснил, что такое self.

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

    Наконец-то я понял зачем нужен self. В нескольких книгах по питону прочел про self так до конца и не понял. У вас отлично получаются видеоуроки. Спасибо!

  • @user-yy7fk5ir3m
    @user-yy7fk5ir3m 6 месяцев назад +1

    Я впервые услышал такое чёткое и понятное объяснение. Огромное спасибо

  • @dedded6840
    @dedded6840 2 года назад +2

    Ваш канал самая настоящая находка)

  • @edwardsnowden9093
    @edwardsnowden9093 6 месяцев назад +1

    Я уже писал маленькие скрипты и программы, но только с вами начал постигать более полное понимание того, как оно работает внутри.
    Большое спасибо )

  • @vladimirastrelin1719
    @vladimirastrelin1719 Год назад +3

    Низкий поклон...Спасибо огромное. Всё просто, понятно и доступно...

  • @valeradyomin287
    @valeradyomin287 8 месяцев назад +2

    Спасибо за труды. Очень хорошо подаёте материал.

  • @user-yo7kq4lr7j
    @user-yo7kq4lr7j Год назад +4

    Ничего себе!!! Спасибо огромное. Теперь, наконец-то с селф всё ясно!!!❤❤❤

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

    Я в неописуемом восторге. Как все легко я понятно Вы объясняете))) Всех благ

  • @soul-snatcher225
    @soul-snatcher225 Год назад +2

    только реально понимающий тему человек, может спокойно и доходчиво объяснить материал. спасибо, теперь я наконец понял зачем нужен был self :)

  • @user-dp1sm4bx3i
    @user-dp1sm4bx3i Год назад +1

    Спасибо. Доступное изложение, и одновременно все корректно в части объяснения функционирования

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

    Спасибо, очень качественное изложение. Даже на 2х скорости материал отлично впитывается)

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

    Благодарю! :) и слушать приятно и объясняете доходчиво)

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

    Сергей, спасибо большое за урок! Отличное объяснение, как работает "self" и зачем он нужен!

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

    спасибо вам большое , Вы - первый человек, который смог понятно объяснить, что такое self!

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

    Топ курс, всё понятно. Спасибо большое!

  • @user-hh9cf1vd8j
    @user-hh9cf1vd8j Год назад +1

    Гений среди нас! спасибо за ваш труд!

  • @user-fs9gp6oz8x
    @user-fs9gp6oz8x Год назад +2

    Согласна с другими комментариями - очень понятно и круто объяснили про self🙂

  • @eklatov
    @eklatov 2 года назад +2

    Спасибо большое! Раньше пробовал учить ООП, но ничего не понял и забросил, а сейчас все понял. Спасибо вам огромное!!!

  • @citricmint6180
    @citricmint6180 2 года назад +2

    Спасибо за доступное изложение материала!)

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

    Сегодня перечитал немало статей и не мог зачем и откуда self!
    Вы четко и наглядно объяснили!
    Спасибо!

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

    думал что не новичек я . смотрю ваши уроки и понимаю, что все таки новичек)) очень круто, по делу, доступно, ненавязчиво, топ контент!👍

  • @user-no1mu9qv4z
    @user-no1mu9qv4z 9 месяцев назад +1

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

  • @user-ey4qp4mq4q
    @user-ey4qp4mq4q 2 года назад +1

    Отличный урок! Спасибо Вам👍

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

    Я вас люблю. Единственно понятное объяснение!🥰

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

    Спасибо тебе большое, очень круто объяснил. Для меня многие вещи стали понятными, я прям прозрел.

  • @alucardv8551
    @alucardv8551 2 года назад +5

    8:49 - Вот именно для этого и используется параметр self: чтобы мы могли работать с локальными атрибутами **конкретного** экземпляра класса.

  • @elenagavrilova3109
    @elenagavrilova3109 5 месяцев назад +1

    уже на 41 секунде поставила лайк! спасибо Вам огромное и крепкого здоровья!

  • @vb52ru
    @vb52ru 2 года назад +7

    Спасибо

  • @user-qh4zz2kg7r
    @user-qh4zz2kg7r Год назад +1

    Спасибо, не спеша, подробно, с расстановкой. Спасибо!

  • @user-ms3dw2qx3s
    @user-ms3dw2qx3s 5 месяцев назад +1

    Огромное спасибо за труд! По голосу понятно что добрый человек

    • @user-bh3qo1oq3m
      @user-bh3qo1oq3m 5 месяцев назад

      я с трудом слушаю. скорость 1,25 поставить, то еще более менее. Дикция ужасная. Еще нет четкой терминологии. То параметр, то аргумент, то атрибут, то свойство. Я прочитал несколько книг чтобы понять что это примерно одно и тоже. Еще есть слово поле у свойства. Надо сразу объяснять терминологию, а не скакать с одного слова на другое.

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

    Сначала лайк, потом смотрю! Всем советую , не прогадаете

  • @andredru4278
    @andredru4278 3 месяца назад +1

    Спасибо. Отлично. Идем дальше.

  • @user-qv9eg8kz9l
    @user-qv9eg8kz9l 2 года назад +39

    Страшно даже представить величину мозга тех, кто это все придумал...

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

      Это все благодаря лени... А так бы процедурно делали

    • @moduletechsm-t500-px9jo
      @moduletechsm-t500-px9jo 2 месяца назад

      @@anyreU Ты еще скажи что библиотеки и фреймворки от лени

    • @eng9507
      @eng9507 2 месяца назад

      ​@@moduletechsm-t500-px9jo именно

    • @moduletechsm-t500-px9jo
      @moduletechsm-t500-px9jo 2 месяца назад

      @@eng9507 Нет, это использование чужого опыта, экономия времени, улучшение качества своего проекта. НЕ использовать это все, это просто тупость.

    • @textreanimator
      @textreanimator 9 дней назад

      Если в запасе лет 10,придумает даже простенький мозг.

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

    Супер, спасибо!

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

    Thanks a lot! Great Job. Keep It Up. I am new to python but the way you explained all the details of OOP in Python is terrific. Thanks again for sharing your knowledge and uploading this video.

  • @VORTEX-ik9jl
    @VORTEX-ik9jl 6 месяцев назад +1

    Спасибо вам огромное, наконец понял эту тему!

  • @WasWollenWirDrinken
    @WasWollenWirDrinken 3 месяца назад +1

    просто легенда, спасибо вам

  • @86Blind
    @86Blind 2 года назад +1

    Самое лучшие объяснение. Наконец-то я понял!!!!))))

  • @user-ju8lx5mw4f
    @user-ju8lx5mw4f 4 месяца назад +1

    Все очень доходчиво и подробно рассказано... 👍

  • @user-pw8fo9gw7b
    @user-pw8fo9gw7b 2 года назад +1

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

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

    Спасибо Сергей!. Так же, что уроки переложены в текстовом виде!

  • @user-kb2uv6en5t
    @user-kb2uv6en5t 4 месяца назад +1

    Тупа ЛУУУУУЧШИЙ братик. Очень хорошие уроки. Сначала думал обычный гундос, но очень хорошо и доходчиво обьясняешь вообще без воды

  • @user-tx5dg4nu3q
    @user-tx5dg4nu3q Год назад +1

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

  • @vyacheslavmancurov6101
    @vyacheslavmancurov6101 8 месяцев назад +1

    Спасибо Вам, ГУРУ питона!!! Вы единственный кто нормально объясняет эту тему!

    • @trevizez
      @trevizez 8 месяцев назад

      Чувствую себя тупым, потому что я все равно не до конца понял 😂

  • @user-or2gv8zf4l
    @user-or2gv8zf4l Год назад +2

    Здравствуйте, уважаемый Сергей и аудитория!
    Прекрасное объяснение.
    После этого урока сложилось представление, что классы это ящик с данными и методами. Возьми (экземпляр класса) какие нужны свойства и с помощью методов оперируй этими свойствами.
    Вопросы:
    1) На сколько это представление правильное в контексте урока?
    2) Можно ли в самом классе запустить методы с помощью использования его собственных свойств, на сколько это будет правильно?

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

      как первое понимание, возможно, но лучше задайте этот вопрос в телеграм-канал (ссылка под видео) и вам там много чего еще интересного расскажут ))

  • @Vlad1998996
    @Vlad1998996 2 года назад +2

    ЛАЙК за ролик!

  • @SELYAVINNICK
    @SELYAVINNICK 2 года назад +2

    Классные ролики. Автор так держать. Попробую начать познания в ооп по роликам автора

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

    Очень круто объясняете, спасибо Большое)

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

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

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

    Учитель от Бога!!!

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

    Чудесно , наконец поняла ❤️

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

    Отличный урок😊😊

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

    Шикарно спасибо огромное на все проблемы ответили

  • @albertgrayce01
    @albertgrayce01 19 дней назад +1

    классно рассказываете, но так быстро не успеваю печать😁

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

    Идеальное объяснение

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

    Простой лучший , спасибо)

  • @sofiya41.
    @sofiya41. 2 месяца назад +1

    Спасибо большое ❤❤❤

  • @13_chasov_nochi
    @13_chasov_nochi 2 года назад +1

    Огромное спасибо , мне стало намного понятней

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

    да есть же)))
    ломка прошла чуть чуть)

  • @terezabisharyan5463
    @terezabisharyan5463 10 месяцев назад +1

    Спасибо Вам большое

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

    Чел, ты лучший

  • @orthodox-chanel
    @orthodox-chanel Год назад +3

    для закрепления пришла в голову мысль написать функцию которая выводит все объекты в классе
    class Point:
    color = 'red'
    circle = 2
    def set_coords(self,x,y):
    self.x = x
    self.y = y
    def get_coords(self):
    return (self.x, self.y)
    def all_args(self):
    dct = dict()
    if hasattr(self, "color") == True:
    dct['color'] = getattr(self,'color')
    if hasattr(self, "circle") == True:
    dct['circle'] = getattr(self,'circle')
    if hasattr(self, "x") == True:
    dct['x'] = getattr(self, 'x')
    if hasattr(self, "y") == True:
    dct['y'] = getattr(self,'y')
    return dct
    a = Point()
    a.set_coords(10,20)
    b = Point()
    b.set_coords(15,1)
    print(Point.all_args(Point))
    print(a.all_args())
    print(b.all_args())

    • @orthodox-chanel
      @orthodox-chanel Год назад +1

      или в одну строку пишем чтоб было по правилам python
      def all_args(self):
      return dict((str(item), getattr(self, item) if hasattr(self, str(item)) else None) for item in ['color', 'circle', 'x','y'])

  • @kZiFo79
    @kZiFo79 9 месяцев назад +1

    Наконец-то я понял, что такое селф, спасибо!

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

    СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!!

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

    Спасибо!!!

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

    спасибо!👏👍

  • @user-et4if5gs8z
    @user-et4if5gs8z 2 года назад +1

    Well! Very well!

  • @user-hp1xs6jp4z
    @user-hp1xs6jp4z 11 месяцев назад +1

    Я попробовал это и заметил, что получить отдельные данные с self нельзя. Для этого нужно создавать переменные в экземпляре класса. Спасибо, разобрался)

  • @user-kz4lb1jt2r
    @user-kz4lb1jt2r 9 дней назад +1

    спасибо!

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

    Как всегда на высоте!!

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

    Боже мой! Ну наконец кто то разжевал про селф "для чайников"😂 спасибо!❤ У меня была страшная проблема с пониманием зачем он нужен - она не ушла целиком, но по крайней мере я теперь понимаю что куда на хоть каком то уровне и могу с этим работать:)

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

    very good lessons

  • @Davidianable
    @Davidianable 22 дня назад +1

    Добрый день!
    Спасибо за ваши ролики. У меня предложение на будущее. Пожалуйста, в начале курса, для тупых как я, объясняйте зачем все это нужно глобально. Условно говоря, "мы хотим сделать программу, которая рисует графики функций, для этого нам надо ООП". То есть конкретный пример. Ибо я вот начал смотреть этот цикл, везде сказано что при изучении программирования его обязательно надо знать, но ЗАЧЕМ - никто не объясняет. Поэтому сидишь, и не понимаешь что делаешь - глобально. Ролик понятен, а зачем я это изучаю и вникаю - нет.

  • @maxichannel9080
    @maxichannel9080 8 месяцев назад +1

    Здравствуйте.
    Подскажете, как сделать такую же консоль (что бы все было цветное и интуитивно понятное в VS Code), если знаете.

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

    Какой вы довольный

  • @mrrototo761
    @mrrototo761 4 месяца назад +1

    То есть теперь x и y можно использовать в других методах? Мы же их не определили в stop_engine.🤔
    class Car:
    def start_engine(self):
    self.x = x
    self.y = y
    def stop_engine(self):
    return (self.x, self.y)

  • @user-ok5cd8wg5i
    @user-ok5cd8wg5i Год назад +1

    Здравствуйте, не совсем понял один момент. Разве уже в самой переменной pt не хранится ссылка на новый объект?(это если руководствоваться тем что переменные это ссылки на объект в python) Тогда зачем self если в pt уже все есть, прошу прощения если вопрос глупый)

  • @user-su1wf3wz6c
    @user-su1wf3wz6c 10 месяцев назад +2

    Чето сложна, надо пересмотреть 10 раз!

  • @quick_silver2993
    @quick_silver2993 2 года назад +2

    чувак, ты крутой

  • @user-gf4ux1pm5n
    @user-gf4ux1pm5n 2 года назад +6

    selfedu, здравствуйте. Во-первых, спасибо за видео. Во-вторых, есть вопросы:
    почему столь редка реклама в ваших видео?
    это ваше решение или ютуба?

    • @selfedu_rus
      @selfedu_rus  2 года назад +12

      Спасибо! Ютуб сам расставляет, я в этот процесс не вмешиваюсь и кроме того, это некоммерческий проект, я здесь не зарабатываю. Успехов!

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

      @@selfedu_rus да, да))