Python для начинающих. Урок 14: ООП. Методы, параметр self.

Поділитися
Вставка
  • Опубліковано 7 жов 2020
  • ВСЕ ВИДЕО ПО PYTHON: • Python для начинающих
    Реклама и сотрудничество: alishev.neil@gmail.com

КОМЕНТАРІ • 94

  • @alishevN
    @alishevN  3 роки тому +18

    1) Плейлист этого курса вот здесь: ua-cam.com/play/PLAma_mKffTOSY12JZS6l8lxKCpooPVcrn.html
    2) Не обязательно использовать Jupyter Notebook. Можно использовать любую другую IDE, например PyCharm: www.jetbrains.com/ru-ru/pycharm/
    *Комментарии к уроку:*
    В уроке я говорю, что метод get_age() должен *возвращать* значение возраста. В решении же, я не возвращаю значение, а вывожу его с помощью функции print(). Вывод значения на экран и возврат значения из функции - это разные вещи. Корректная реализация должна была возвращать значение возраста с помощью ключевого слова return.

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

      интересно, а как вызвать функцию get_age через класс? типа Person.get_age(p1) - а куда данные текущего года?

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

      вот мое решение согласно вашей коррекции:
      class Human:
      # метод - простая функция внутри класса
      # self - аргумент который передает данные в функцию от всех дочерних объектов
      def print_info(self, count):
      for i in range(count):
      print(f'Name: {self.name}
      Sirname: {self.sirname}
      Place of birth: {self.place_of_birth}')
      def get_age(self, today_data):
      return today_data - self.year_of_birth
      first_human = Human()
      first_human.name = "Adam"
      first_human.sirname = "unknown"
      first_human.place_of_birth = "Africa"
      first_human.year_of_birth = 1
      print(first_human.get_age(2023))

  • @Alan-wl7hm
    @Alan-wl7hm 3 роки тому +27

    Спасибо вам, Наиль! Каждый урок от вас, как глоток свежего воздуха посреди огромной сухой пустыни мироздания. Дай вам бог сил и дальше продолжать дело в таком же духе.

  • @user-ey9ip2ee9m
    @user-ey9ip2ee9m 3 роки тому +6

    я просмотрел гегабайты видио на эту тему и только здесь все изложено доступно для моего понимания, реально уловил суть для дальнейшего моего развития, спасибо

  • @user-wk9dl9lu2t
    @user-wk9dl9lu2t 3 роки тому +5

    Благодаря тебе, понял, что за self и что он делает, спасибо)))

  • @yamataa
    @yamataa 3 роки тому +15

    ООО новый урок!!! Я так долго его ждал! Респект!

  • @iaroslavdavydiak6439
    @iaroslavdavydiak6439 2 роки тому +2

    Наконец-то мне дошло что такое self🤠 Очень классная подача материала👍

  • @-Z0D1AC-
    @-Z0D1AC- 3 роки тому +15

    Читал A Byte of Python - ничего не понял, когда начали мне на голову лить ледяную воду из умных слов. Пришёл суда и понял благодаря лёгким и понятным на слух словам. Почему автор книги не удосужился также, как вы, отлично объяснить лёгкую тему, которая из-за умных слов стала самой сложной в книге для понимания?

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

      как же я тебя понимаю

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

    Первый русскоязычный канал, где автор действительно объясняет, а не занимается самолюбованием) До этого такие подробные объяснения видел только у индусов)

  • @user-sp3or2kg1g
    @user-sp3or2kg1g 5 місяців тому

    Вы прекрасно умеете объяснять, спасибо!

  • @makstef6809
    @makstef6809 3 роки тому +6

    Ни книги, ни курсы, ни преподы нормально и внятно, простым языком, не могли мне втолковать, чё за self и нафиг он там нужен. И вот на вашем уроке меня прям осенило!

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

    Только что досмотрел твои предыдущие уроки - и ты выпустил новый!
    ...Надеюсь следующего урока не придется ждать еще 2 месяца...

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

    Так просто и понятно объясняете, обожаю вас!

  • @Shprotec
    @Shprotec Місяць тому

    посмотрел 2 других ролика и только тут въехал что к чему, спасибо

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

    Наиль, спасибо тебе за урок! Всё понятно и доступно. Ты прекрасно умеешь объяснять, это талант!

  • @user-cc7bn4vd3s
    @user-cc7bn4vd3s Рік тому

    Наконец то до меня дошло!!!!!!!!!!!!!!!!!!!!!!!!!Сколько страданий и поисков ...а тут раз и готово! Спасибо Вам за объяснения! )))))

  • @user-uw4fo1cg1p
    @user-uw4fo1cg1p 3 роки тому

    Отличный ролик! Жму руку!)) Хочется, чтобы ролики выходили как можно чаще))

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

    Большое спасибо за новый урок! Интересно и доходчиво.

  • @user-yk2ue6gk8x
    @user-yk2ue6gk8x 3 роки тому +1

    Вы очень понятно объясняете. Прошу, продолжайте делать уроки по python.

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

    Очень информативно и понятно доносишь информацию, спасибо тебе!

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

    то что нужно под вечер, спасибо!

  • @user-ie8ph7js9k
    @user-ie8ph7js9k Рік тому

    Я два дня не мог разобраться с self. Но благодаря твоим видео освоил. Спасибо тебе огромное! 🖖

  • @user-ik2ur8rz7o
    @user-ik2ur8rz7o 3 роки тому

    Наверное лучшее видео про параметр self !!!

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

    Спасибо вам большое! Очень доходчиво и просто обьясняете ! Продолжайте снимать

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

    сравнил с другими объяснениями , как вы объяснили self, просто и чётко. Спасибо

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

    Спасибо! Четко, ясно! Продолжаем нажимать.

  • @user-xr3qp9pr1g
    @user-xr3qp9pr1g Рік тому

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

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

    Спасибо за хорошее объяснение!

  • @darul-asar381
    @darul-asar381 3 роки тому +1

    Отличные уроки, способность доходчиво донести информацию, отличает хорошего учителя от плохого. Для тех, кто не понял, как работает self, self - *Это параметр, который мы используем внутри метода и каждый объект, независимо от его количества, который мы присваиваем к классу Person, питон будет подставлять его под self*

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

    Доступно и понятно. Красава

  • @Mr.SKIFLANDIAN
    @Mr.SKIFLANDIAN 2 роки тому

    Хорошее объяснение. Благодарю.

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

    именно по этому видосу понял суть self, спасибо

  • @user-in9ht6hy7d
    @user-in9ht6hy7d 3 роки тому +1

    Phpлять, наконец-то я понял, что такое Self!!!

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

    Одно ваше видео это день учебы в он-лайн школах типа skill... не буду палить контору. Все просто и понятно). Добра вам и вашим близким)

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

    Просто мастерское объяснение

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

    Спасибо, все получается и очень доступно.

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

    Конец прозвучал как какой-то аникдот, над которым я посмеялся)

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

    You did a great job man, I like your videos.

  • @user-jq3fq8mb4o
    @user-jq3fq8mb4o 2 роки тому

    Спасибо большое! Разобрался!

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

    Спасибо Наиль!

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

    спасибо за питончика, когда-нибудь и его пощупаю из интереса, но☝🏼 Жду Спринг!😀😀 Базочки данных, буутики и тд. 😀
    На месте не сижу, но твой выпуск по Спрингу жду👊🏼

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

    Спасибо всегда круто объясняешь

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

    спс бро, отличная работа!

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

    спасибо, добрый человек

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

    Хорошее видео. Все по существу.

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

    Спасибо тебе большое!

  • @user-di6lm8fp8j
    @user-di6lm8fp8j 2 роки тому

    наконец я понял self на практике, а то многие дают теорию и никудышный пример

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

    Наиль ,хотелось бы видеть курс по созданию программной части игры.Да я знаю ,что есть другие люди с более "хайповой" подачей ,но от этого теряется обучающий смысл ,а в Ваших уроках нет лишнего .Буду очень рад видеть подобный плейлист на Вашем канале !

  • @user-kg4zj1gb3s
    @user-kg4zj1gb3s 3 роки тому +4

    Привет!!! очень сильно жду видео по Spring особенно Hibernate

  • @user-mx4lm2fe9h
    @user-mx4lm2fe9h 7 місяців тому

    Я сейчас заплачу… почему я раньше не нашел эти видосы
    Автор продолжай. Фреймворки в студию: Django, Flask, Fast API

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

    Это
    Просто
    Офигенно
    Я никак не мог понять, что за self в методах класса и принцип его работы, пока не нашёл этот видос) Спасибо огромное!)
    Можно тему декораторов разобрать, а то они тоже не особо мне поддаются)

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

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

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

    дякую )

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

    Классно!

  • @user-fu7be4xy8b
    @user-fu7be4xy8b 3 роки тому +2

    Я еле еле как тяну эти уроки. Честно. Тяжело, сам не программист, но хочу им стать, не ради денег, а ради идей, ну и деньги конечно не помешают) Приходится каждый день себя мотивировать. Ты первый человек, который начал меня учить программированию, в 28 лет)
    Кстати задачу я решил по твоим старым методам))
    def get_age(self, m):
    for x in range(m) :
    return m - self.year_of_birth
    Получилось. Был очень рад. Но посмотрев твоё решение, чутка расстроился что не смог также...
    Лайк тебе за все твои уроки и старания👍👍👍👍

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

      Ну как успехи?

    • @user-fu7be4xy8b
      @user-fu7be4xy8b 3 роки тому

      @@visp6883 перешёл на С#. По Python хоть и много инфы в ютубе, но только основа и все. Дальше не знаешь куда Двигаться, что изучать. Но, благодаря основам пайтона, си шарп намного легче даётся, хотя язык не очень лёгкий, ну и не сложный. Тут тоже есть свои камни подводные, есть очень тяжёлые книги стр минимум 1300. Для разработки сайтов изучаешь ASP.NET, для приложений .NET Core и Framework. Нравится то, что ты работаешь с помощью Microsoft Visual Studio. Ну, по крайней мере она мне нравится. В C# строго сохраняется тип данных, к примеру int нельзя смешивать с string, ну даже int нельзя смешивать с double или float. Вобщем, интересно тоже. Но Python, как для быстрого старта, очень хорош. А далее, уже решать каждому. По мне лучшие языки сейчас, Python, Javascript, C#, ну и мега гигант C++. Пройдя пол года, определился что хочу, мне не нужно быть супер прогером. Охото просто уметь создавать мобильные приложения для andoird ios, приложения отличного качества и функционала. Ну и Gamedev тоже интересует. Такие вот дела братец. Дальше время покажет. Надеюсь за лето, смогу продвинуться вперёд. Я все ещё плыву в мире ООП С#. К осени, если не забуду отпишусь.

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

      @@user-fu7be4xy8b воу, спасибо за ответ, красавчик, удачи тебе)

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

      @@user-fu7be4xy8b как ваши успехи ?

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

      @@user-fu7be4xy8b стал программистом?

  • @user-ix7lb1sx4k
    @user-ix7lb1sx4k 3 роки тому

    А где взять исходники к уроку? А то что - то пример не работает.

  • @user-hz8hr5ez5u
    @user-hz8hr5ez5u 3 роки тому

    Спасибо

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

    Очень классное объяснение. Автору + к карме.
    Единственный вопрос - а зачем нам при определение текущего возраста использовать конструкцию "f", если мы выводим только одно значение?
    Ведь вариант print("Age: ",current_yaer-self.year_of_birth) вполне жизнеспособен?

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

    Привет! Будет урок об наследование от встроенных типов?

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

    отдуши братан

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

    это как указатель this-> из c++

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

    Elon Musk из ЮАР😂, вы объясняете не только понятно, но и с юмором

    • @CurS-uo6wt
      @CurS-uo6wt 2 місяці тому +1

      так он итак из ЮАР

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

    Я сделал так :
    class Person:
    def print_info(self):
    self.years = int(self.get_age) - int(self.years_of_birth)
    print(f"Name : {self.name}, Surname: {self.surname}, Place_of_birth : {self.place_of_birth}, Years : {self.years}")

  • @user-vs9wy5fg3d
    @user-vs9wy5fg3d 3 роки тому

    Для того чтобы прописать метод внутри класса не обязательно использовать "self", вместо этого можно написать любую другую переменную. Или я ошибаюсь?

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

      это именно self

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

    👍👍👍

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

    class Person():
    def print_info(self, years):
    print(f"Name: {self.name} ,Surname {self.surname}, Year of birth {abs(self.year_of_birth - years)}")
    p1 = Person()
    p1.name = 'Alex'
    p1.surname = 'Lame'
    p1.year_of_birth = 2005
    p2 = Person()
    p2.name = 'Alexandr'
    p2.surname = 'Mask'
    p2.year_of_birth = 1900
    сделал вот так)

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

    def print_info(self):
    print(f"Name: {self.name}
    Surname: {self.surname}
    Place of birth: {self.place_of_birth}")
    Выглядит намного удобнее на выходе:
    Name: Elon
    Surname: Musk
    Place of birth: UAR

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

    Решение задачи 1 (может я не верно понял задание)
    class Preson:
    def get (self,n):
    print (f'Возраст {self.name} {self.surname} рожденного в {self.burth} равен {n-self.year_burth}')
    p1 = Preson()
    p1.name = 'Elon'
    p1.surname = 'Mask'
    p1.burth = 'Юар'
    p1.year_burth = 1989
    p2 = Preson()
    p2.name = 'sergei'
    p2.surname = 'Korolev'
    p2.burth = 'Российская империя'
    p2.year_burth = 1976
    n=2020
    z=[p1, p2]
    for i in z:
    i.get(n)

  • @user-sk1io8yu1c
    @user-sk1io8yu1c 3 роки тому

    жду ролик по спрингу ((%

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

    layk

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

    class Person2():
    def print_info(SS,n):
    for i in range(n):
    print(f"Имя:{SS.name},Фамилия:{SS.surname},Место:{SS.place},ГОД:{SS.years},Текуший год:{p13.get_age} ")
    p13 = Person2()
    p13.name = "Альберт"
    p13.surname = "Фонштицкин"
    p13.years = "1965"
    p13.place = "Великабритания"
    p13.get_age = (2020)
    p13.print_info(1)

  • @user-zl1ei3pg4k
    @user-zl1ei3pg4k 2 роки тому

    class Person:
    def print_info(self):
    print("Name:" + str(self.name))
    print("Surname:" + str(self.surname))
    def print_age(self, n):
    print(str(n - self.age))
    p1 = Person()
    p1.name = "Aler"
    p1.surname = "Ager"
    p1.age = 20
    p1.print_age(2021)

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

    По полячкам разложил

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

    всё ещё слишком легко, продолжается предчувствие что "щаз как бомбанёт" какой-то заумной темой... ну посмотрим)

  • @user-hp1xs6jp4z
    @user-hp1xs6jp4z 2 роки тому

    Ура! Наконец-то я разобрался с селфами

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

    wall!!!!!!!

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

    class Person:
    def get_age(self, n):
    print(f"Age: {n - self.date_of_birth}")
    p1 = Person()
    p1.date_of_birth = 1999
    p1.get_age(2021)

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

    Привет

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

    Кому лень смотреть 12 минут. Отвечу: Когда вызывается метод класса, питон берёт его как функцию и автоматически подставляет экземпляр класса, как первый аргумент вот собственно и всё. Поэтому и называется self

  • @user-cp7qd9kq8o
    @user-cp7qd9kq8o 4 місяці тому

    Отдуши все для меня идиота объяснил....

    • @user-cp7qd9kq8o
      @user-cp7qd9kq8o 4 місяці тому

      время моё экономишь спасибо

  • @user-ip2xo9ns6g
    @user-ip2xo9ns6g 2 роки тому

    Уроки классные, но сам язык убогий.

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

    Слишком сильно по клавиатуре щелкаете, по ушам бьет :(((