OOP Python class inheritance | Python OOP in three lessons

  Переглядів 61,317

Python Hub Studio

Python Hub Studio

День тому

In the lesson, we will look at class inheritance in python, simple inheritance, super inheritance, multiple inheritance and linearization in python. We will also touch on the topics of polymorphism and composition.
00:00 Introduction to class inheritance in python
02:07 class inheritance
20:50 inheritance super
23:15 multiple inheritance
23:46 linearization
-------------------------------------------------- -------------------------------------------------- ----------------------------------------------
Become a channel sponsor and you will get access to exclusive bonuses.
More:
/ @pythonhubstudio
-------------------------------------------------- -------------------------------------------------- ----------------------------------------------
OOP course with the practice of writing a program:
• Полный курс уроков обу...
Telegram bot development course using an example project:
• Playlist
Subscribe to the channel! Ask questions in the comments!
#PythonHubStudio
#python

КОМЕНТАРІ: 141
@DimulyaPlay
@DimulyaPlay 3 роки тому
Вот это да, а я думал это я глупый и ничего понять не могу) оказывается другие объяснения были не понятными) Вся картина в голове как паззл складывается) Автор гений!
@iliaplotnikov2167
@iliaplotnikov2167 2 роки тому
Оставляю комментарий лишь бы ютуб поднял эти уроки повыше в выдаче, потому что идеально. Ведро лайков этому человеку! 👍
@master-Dmitriy
@master-Dmitriy 3 роки тому
Благодарю всей душой, очень понятно и доходчиво. С первого раза всё зашло, хотя обычно приходится по несколько раз просматривать ролики других авторов, чтобы понять суть. После первого же просмотра подписка, лайк, и колокольчик все уведомления. Ты лучший!!! Продолжай своё дело, ты делаешь этот мир лучше.
@konstantinpak2496
@konstantinpak2496 3 роки тому
Первый урок был хорош и второй не глядя лайк ставлю! Очень понятно все объясняете, спасибо
@user-vl1ps8uw1o
@user-vl1ps8uw1o 2 роки тому
Да, я по тому-же принципу лайк поставил)
@nameisSANS
@nameisSANS 2 місяці тому
Урок просто отличный! Спасибо за простое объяснение ТЕМ БОЛЕЕ с примерами!!
@iaroslavdavydiak6439
@iaroslavdavydiak6439 2 роки тому
Спасибо что объясняете сложные вещи простым языком👍
@ruslanruslan338
@ruslanruslan338 Рік тому
Очень полезное видео про ООП. Спасибо автору
@user-ld8dk5tt9r
@user-ld8dk5tt9r 3 роки тому
Братан от души. Очень годный контент. Единственный понятный урок на ютюбе.
@andreydr2861
@andreydr2861 2 роки тому
Все лаконично и невероятно понятно. Спасибо за такое подробное объяснение. На других каналах многое непонятно
@juliaweinstein3133
@juliaweinstein3133 2 роки тому
Хочу выразить благодарность!!! Отличное видео! Всё понятно становится
@user-wl9gn6pk7d
@user-wl9gn6pk7d 3 роки тому
Да, понятные примеры и логичное понятное объяснение. Спасибо!
@yarstein12
@yarstein12 2 роки тому
Спасибо за труд! Прекрасный материал, продолжайте в том же духе, успехов вам во всём.
@olehpokotyliuk5184
@olehpokotyliuk5184 Рік тому
Просто глобальный респект вам за вашу нелегкую работу.
@user-th4uw9co3t
@user-th4uw9co3t 2 роки тому
гений. Лучшее объяснение, которое я видел. К черту хауди Хо и подобных
@luden6794
@luden6794 2 роки тому
А кто такой хауди Хо?
@msc_Noname
@msc_Noname 2 роки тому
Шикарные уроки! Спасибо!
@amu_12345
@amu_12345 2 роки тому
Спасибо огромное за видео! Все по полочкам разложили!
@user-xv7sh6lp7o
@user-xv7sh6lp7o 2 роки тому
Огромное спасибо за такое подробное объяснение!
@nadyamoscow2461
@nadyamoscow2461 3 роки тому
Большое спасибо, отличное объяснение.
@user-yp5jg7kx1m
@user-yp5jg7kx1m Рік тому
большое спасибо за четкое и разборчивое объяснение
@user-pv3zw4ki9z
@user-pv3zw4ki9z Рік тому
Какой Вы все таки крутой чувак! Смотрю не из РФ с рекламой 👌 Спасибо огромное!!!
@paran01k25
@paran01k25 2 роки тому
отличное объяснение! я думал мое понимание питона закончилось до просмотра этого видео, спасибо!
@dimagorin4305
@dimagorin4305 2 роки тому
блин брат лучшее объяснение классов че и как, я только начал в это вникать и из 5 видео что я посмотрел твое лучшее!!
@Dmitry_Konstantinovich
@Dmitry_Konstantinovich 2 роки тому
Спасибо! Доступно и понятно.
@marketplace_news
@marketplace_news 2 місяці тому
Отличная подача материала, автору спасибо!
@howardklark4457
@howardklark4457 2 роки тому
Спасибо! Хороший, понятный урок.
@favoritesmaily6803
@favoritesmaily6803 Рік тому
Наконец то понял по ООП))лучший, спасибо)
@KiWi-oe8vg
@KiWi-oe8vg 2 роки тому
Благодарю вас за информацию, объясняете очень хорошо, даже я понял
@user-vc1mq4zs3t
@user-vc1mq4zs3t 2 роки тому
Добрый день. Спасибо за отличный курс!
@vovastarenko3880
@vovastarenko3880 2 роки тому
красавчик , все очень понятно и доступно.
@Mike-og4wc
@Mike-og4wc Рік тому
Просто суперское объяснение материала, спасибо большое за видео. (like + subscription)
@ashtonkutcherov3992
@ashtonkutcherov3992 2 роки тому
да ты реально нереально крут
@user-do1xf1jv2y
@user-do1xf1jv2y 2 роки тому
Лучшее, что видел!
@AlexCoder007
@AlexCoder007 8 місяців тому
Отличное объяснение ООП ! Автор респект
@mcolegon
@mcolegon 3 роки тому
Одно из самых адекватных и понятных объяснений конструкций пайтона. Спасибо.
@user-hx5il7xj3t
@user-hx5il7xj3t Рік тому
Спасибо! Отличное видео
@kizik85
@kizik85 Рік тому
Поддрерижаваю! Очень крутое объяснение! Спасибо!
@nikitabbrv5947
@nikitabbrv5947 2 роки тому
Спасибо, месяцев 5 назад практиковал питон, написал парсер, но классы юзать не приходилось. Вернулся - и очень хорошее объяснение темы. спс
@symbol4572
@symbol4572 3 роки тому
Спасибо!
@yanabrigadir
@yanabrigadir 6 місяців тому
спасибо автору за хорошее объяснение
@rimmagamer1670
@rimmagamer1670 2 роки тому
Отличный урок! Великолепный талант автора доносить до слушателя материал. И без навязчивой музыки. Один недостаток - всё скомкано в один файл. Тут же показано наследование и тут же полиморфизм.
@tobesunset820
@tobesunset820 2 роки тому
Полностью согласен, тем более на интересном примере)
@Tridentor
@Tridentor 2 роки тому
Доступно распедалено, спасибо!
@PythonHubStudio
@PythonHubStudio 2 роки тому
😁
@serga8543
@serga8543 Рік тому
спасибо за видео!
@user-rn4rt5mt3i
@user-rn4rt5mt3i Рік тому
все очень круто и понятно, спасибо
@hithrv
@hithrv 3 роки тому
Крутотошка! Спасибо
@enjoyenjoy6527
@enjoyenjoy6527 2 роки тому
Спасибо Вам Большое .
@tanto_id
@tanto_id Рік тому
Благодарю за урок
@user-mw7dz4fg7f
@user-mw7dz4fg7f Рік тому
Ну Вы- Человечище! Спасибо!
@PythonHubStudio
@PythonHubStudio Рік тому
Рад, что видео Вам помогло!
@pushkars9600
@pushkars9600 3 роки тому
Ты просто бомба!
@etsyseotools-gardensoldier6260
@etsyseotools-gardensoldier6260 2 роки тому
прохожу курс на юдеми ФОФАнова, чтобы закрыть лекцию и перейти к следующей теме я уже 4 раза пересмотрел ООП и понял почти ничего! В этих 3-ёх уроках 1 раз и смог выполнить домашку фофанова. Пайтон Хаб Студия - респект тебе!!!!! просто супер. пиши курс и заливай на патреон и юдеми, если еще этого не сделал - БУдет успех. Если рассматривать тебя, как класс, то метод подачи твоих объектов на высоте!!)) спасибо!!!
@PythonHubStudio
@PythonHubStudio 2 роки тому
Класс!! Спасибо, очень приятно!
@takiekakmi7532
@takiekakmi7532 2 роки тому
Ахриненно
@radhagovindadd5947
@radhagovindadd5947 2 роки тому
Спасибо очень хороший урок
@ThevideOoLoadeR
@ThevideOoLoadeR Рік тому
Буттон)) Но урок очень топовый, спасибо! Прям наглядненько так и без лишнего
@PythonHubStudio
@PythonHubStudio 2 роки тому
Ссылка на ПОЛНЫЙ курс ООП из ТРЕХ видео: ukposts.info/slow/PLNi5HdK6QEmX9fxp3_IBFx1O5tiTmKlYm И созданием профессиональной программы в ООП стиле: ukposts.info/slow/PLNi5HdK6QEmUIkR63RLqkECTCUwThQtcN
@maximkuzmin4103
@maximkuzmin4103 2 роки тому
ответьте, пожалуйста, на вопрос, копирую чужой комментарий: не могу понять последний пример, чтобы было написано 'А', мы наследуемся почему-то от 'B', но в 'B' же есть метод 'a', как он переходит на класс 'A', или если по другой логике, мы наследуемся от B там он метода не видит, а переходит сразу на 'А' , почему не на 'C'?
@iliaplotnikov2167
@iliaplotnikov2167 2 роки тому
@@maximkuzmin4103 Дружище, мы не наследуемся от В. Глянь еще раз момент со строкой __mro__ - там мы получали порядок наследования, по какой очередности Python будет искать метод 'a' в наследовании. Написал же super(B, self) мы как бы просим у Python в списке __mro__ искать этот метод в СЛЕДУЮЩЕМ за 'B' классе - в данном случае это класс 'А'
@maximkuzmin4103
@maximkuzmin4103 2 роки тому
@@iliaplotnikov2167 спасибо большое за пояснение! пересмотрел момент сегодня и осознал
@user-jd5uz5xr9u
@user-jd5uz5xr9u Рік тому
Про выбор класса исполняемой команды в суппере. То есть оно там принцып лесенки? В зависимости от последовательности записаных классов? Если вначале напишем класс Z а потом ниже K и L то если я хочу класс Z то пишу в К а если L то класс который еще ниже?
@cyberomanov4748
@cyberomanov4748 3 роки тому
Просто лучший
@PythonHubStudio
@PythonHubStudio 3 роки тому
Спасибо)
@Roman-kn7kt
@Roman-kn7kt 2 роки тому
пушка!
@vittoo49
@vittoo49 2 роки тому
Great !!!
@AdmiralUshakovvv
@AdmiralUshakovvv 2 роки тому
оп) лайкосик и пятихаточка)))
@igrok878
@igrok878 Рік тому
спасибо!
@SultanDev
@SultanDev 2 роки тому
не могу понять последний пример, чтобы было написано 'А', мы наследуемся почему-то от 'B', но в 'B' же есть метод 'a', как он переходит на класс 'A', или если по другой логике, мы наследуемся от B там он метода не видит, а переходит сразу на 'А' , почему не на 'C'? Этот вопрос был ниже и я им тоже задался во время просмотра
@evgeniiwjay6177
@evgeniiwjay6177 Рік тому
супер!!!! теперь могое понятно по Джанге
@user-oe6ik5sq1f
@user-oe6ik5sq1f 4 місяці тому
Харош
@user-iy3yo2wt1n
@user-iy3yo2wt1n 3 роки тому
👍👍
@Dallas1460
@Dallas1460 Рік тому
🔥👍👍👍
@user_alex_
@user_alex_ 7 місяців тому
👍👍👍👍👍👍👍👍👍👍👍👍
@IlyaAb
@IlyaAb 2 роки тому
не могу понять последний пример, чтобы было написано 'А', мы наследуемся почему-то от 'B', но в 'B' же есть метод 'a', как он переходит на класс 'A', или если по другой логике, мы наследуемся от B там он метода не видит, а переходит сразу на 'А' , почему не на 'C'?
@Igor-ut6do
@Igor-ut6do Рік тому
super.(B, self), значит что мы ищем все что выше класса B не включая его)
@bublick346
@bublick346 Рік тому
Это было не очевидно
@showrun4747
@showrun4747 5 місяців тому
Получается не важно что В суперкласс а не подкласс от А, а просто играет роль порядок в котором они записаны в файле.. поди догадайся
@5gugorsky
@5gugorsky 2 роки тому
чётко
@alekseitorsukov2338
@alekseitorsukov2338 Рік тому
Спасибо х2!!!
@yarikmeyer
@yarikmeyer 2 роки тому
почему то "users" не создался....
@Neuro3es
@Neuro3es 2 роки тому
С тобой научиться - проще простого. Только странно что так мало просмотров.
@PythonHubStudio
@PythonHubStudio 2 роки тому
Спасибо)
@user-zm9mr1fg4m
@user-zm9mr1fg4m 3 роки тому
@Python Hub Studio, возраст не записывался в файл. Надо дописать в save класса родителя? Или можно добавить в дочерний не дублируя остальную часть кода метода save родителя?
@PythonHubStudio
@PythonHubStudio 3 роки тому
Неделю спустя.... Класс родитель не трогаем, в этом-то и смысл, мы наследуемся если есть возможность не писать лишнее и не трогать старое. Если нужно записывать ещё и возраст, то метод save родителя не подойдёт там в open чётко прописано что записывать в файл, нужно полностью переписывать код в методе save дочернего класса переопределяя его полностью, но в данном примере он приватный(это нужно учесть)
@user-rx6fk9vk4s
@user-rx6fk9vk4s 2 роки тому
👍
@Slavlotski
@Slavlotski 2 роки тому
По всей видимости на ukposts.info/have/v-deo/rmiomaGPiZWgrqs.html оговорились, вы имели в виду Python 3 версии, в нем реализован метод в ширину, а в Python 2 - метод поиска в глубину.
@rizef2166
@rizef2166 6 місяців тому
Так поиск в ширину это когда в очереди первые на проверку связи первого уровня, в данном случае это C и A, в глубину судя из того что мы видим это когда сначала какая - то из связей ближайших берется, тут которая написана первой в наследование, а потом сразу от нее узел проверяется, а потом уже когда и этот узел был проверен, то идет следующая ближайшая к самой главной. Так что все правильно сказано
@user-os9lw2uj9s
@user-os9lw2uj9s 2 роки тому
капец, все понятно.
@alexeyxopyc2471
@alexeyxopyc2471 Рік тому
спасибо за урок) не совсем по теме, но... не совсем понял по поводу __lenPassword() ... он правильно будет отрабатывать?) просто он записал в самом конце, и проверяет уже len(self.password)... тоесть получается он проверяет уже присвоенное значение экземпляра? или если в этой проверке сработает ошибка - то весь код в __init__ отменится и экземпляр не создастся? спрашиваю без всякого негатива, просто не понимаю)
@PythonHubStudio
@PythonHubStudio Рік тому
Я не очень помню код, чтоб ответить конкретно, всё-таки видео выпущено не вчера ...) Но главное: данный пример это всего лишь небольшой логический пример, чтоб можно было максимально понятно объяснить классы. Настоящая проверка, выглядит похоже, но все же по другому. Поэтому не заморачивайтесь.
@bolatmukashev2830
@bolatmukashev2830 Рік тому
когда ты raise делаешь, выполнение программы останавливается? допустим если телеграм бот крутится на сервере, и райзится исключение - бот же продолжит работать или он сдохнет? а event loop поможет избежать остановки работы бота? или ты на момент разработки пользуешься райзами, а потом в продакшене заменяешь всё try/эксептами? аааа не понятно
@PythonHubStudio
@PythonHubStudio Рік тому
Поможет, сдесь нужно понимать, что все зависит от того !что вы пишете!, бота, как самостоятельную единицу или модуль с кодом для использования в более глобальном проекте
@genylivnev7822
@genylivnev7822 2 роки тому
День добрый! Есть вопрос именно по классу Verification: почему, если из метода __init__ убрать self.__lenPassword(), то метод __lenPassword благополучно пропускает пароль меньше чем 8 символов и метод save записывает данные. Причем не важно, даже если убрать приватность. Т.е я обязательно должен ставить в __init__ self.password?
@woolgosh
@woolgosh 2 роки тому
Если из метода __init__ вы убираете self._lenPassword(), то вы убираете и проверку длины пароля. Соответственно при создании экземпляра класса, пароль не проходит проверку на длину, и экземпляр в любом случае будет создан.
@genylivnev7822
@genylivnev7822 2 роки тому
@@woolgosh Понял. Спасибо!
@DontMansion
@DontMansion 2 роки тому
когда Django на канале?
@myprint1774
@myprint1774 2 роки тому
сравнение кортежа будет ли работать корректно если имя пользователя будет не совпадать а пароль совпадать :?
@PythonHubStudio
@PythonHubStudio 2 роки тому
Проверьте, это пример всего лишь. На практике всё сложнее
@guerila_worker
@guerila_worker 2 роки тому
Почему, если я убираю из класса C наследие от класса B, то если пишу в "D" строку: "B.a(self)", код класса B всё равно отрабатывает. Хотя на него не ссылается ни D, ни C? Пример кода: class B: def a(self): print('B') class C: def a(self): print('C') class D(C, A): def a(self): B.a(self)
@antonpython8059
@antonpython8059 Рік тому
Вы просто напрямую обращаетесь к методу в классе B передавая некий обьект в качестве аргумента, притом все это происходит из одного модуля. Это можно делать всегда и отовсюду, если к методу не применена инкапсуляция.
@nameisSANS
@nameisSANS 2 місяці тому
Здравствуйте у меня вопрос я когда вызываю метод D.a() то мне в "а" просят передать аргументы, как это можно исправить, спасибо!
@PythonHubStudio
@PythonHubStudio Місяць тому
В методе не должно быть параметров кроме (self)
@FeelGoodNewss
@FeelGoodNewss Рік тому
автор подскажите, когда вы запускаете код, с новым параметром возраст, то возраст не записывается у вас в текстовый файл, в чем ошибка я не могу понять.
@showrun4747
@showrun4747 5 місяців тому
Оно и не должно записываться вроде
@storm9479
@storm9479 7 місяців тому
Здравствуйте, на 3:48 у меня не создался нигде файл со значениями, хотя ошибки нигде не вывело
@PythonHubStudio
@PythonHubStudio 7 місяців тому
Он где-то создался, а конкретно в той папке, которая указана в терминале при выполнении кода. Обратите на это внимание
@storm9479
@storm9479 7 місяців тому
@@PythonHubStudio блин почему ответы удаляются
@storm9479
@storm9479 7 місяців тому
@@PythonHubStudio Здравствуйте, спасибо за ответ, но проблему я уже решил (она была в том что run запускал файл main. py а не class. py и class2. py где я и писал код, я изменил конфигурацию run и всё заработало)Но раз вы мне тут ответили то у меня есть еще вопросик по видео где вы делали тг бота на aiogram , эта библиотека у меня не устанавливается, вывело что ошибка не в пип а в том что нужно установить Microsoft Visual C++ 14.0 или более позднюю версию, и что я это сделаю если установлю Microsoft Build Tools, далее ссылка на установку буилд тулс, а установил версию 17.0 но у меня по прежнему выводит ту же ошибку я уже перепробовал все способы которые мне советовали в Stack Offerlow , ничего не помогает, вы случайно не знаете в чем может быть дело? Заранее спасибо за помощь.
@filippov70
@filippov70 2 роки тому
так в чём смысл писать свой класс обёртку над Tk?
@user-mm6wh2tf6u
@user-mm6wh2tf6u 5 місяців тому
А что это за приложение, на котором вы работаете на этом видео?
@black_grizzly
@black_grizzly 5 місяців тому
Ide , vs code
@vitaliyg.7747
@vitaliyg.7747 2 роки тому
@mikhail3466
@mikhail3466 2 роки тому
Может я что то не так делаю, но как сделать так чтобы необязательные параметры со значением по умолчанию попадали из родительского в наследованный. class Human: def __init__(self,name='Noname',age=18): self.name=name self.age=age def call(self): print(f'My name is {self.name}. Im {self.age}') class Man(Human): def __init__(self,name='Noname',age=18,salary=10000): super().__init__(name,age) self.salary=salary def call(self): super().call() print(f'My salary is {self.salary}') man=Man() man.call() # Мне бы хотелось чтобы при при создании обьекта класс Man без параметров, брались значения по умолчанию из Human, чтобы не писать их как сейчас это сделано
@PythonHubStudio
@PythonHubStudio 2 роки тому
class A: def __init__(self, name='alex'): self.name = name def show(self): print(self.name) class B(A): def __init__(self,surname='Un'): super().__init__() self.surname = surname def show(self): super().show() print(self.surname) B().show() Уберите из строки c super параметры
@MrFog124
@MrFog124 2 роки тому
Все круто, но нужно было пример сделать не буквенным, было бы понятнее.
@PythonHubStudio
@PythonHubStudio 2 роки тому
Согласен, пример надуманный, но позволил не отвлекать на сложность написания кода, а сконцентрироваться на теме
@r1man_
@r1man_ 3 роки тому
+
@RK-cc9rt
@RK-cc9rt 2 роки тому
Разве можно переопределять методы класса родителя? Это противоречит SOLID-принципам, а именно принципу подстановки Лисков, где класс наследник должен легко заменять родителя, без потери функционала. У наследника должны быть те же функции, что и у родителя, и выполнять они должны одни и те же действия.
@PythonHubStudio
@PythonHubStudio 2 роки тому
Урок о том что такое наследование,а не о высокопарном...
@RK-cc9rt
@RK-cc9rt 2 роки тому
@@PythonHubStudio та не, это не предъява, скорее вопрос, ответ на который я сам пытаюсь найти
@RK-cc9rt
@RK-cc9rt 2 роки тому
@@PythonHubStudio Я просто читал про SOLID-принципы и пытаюсь в них разобраться, потому что недавно общался с программистом с 10ти летним стажем и он говорит, что эти принципы очень часто не нужны, ведь не будешь на каждую новую фичу создавать отдельный класс от родителя, вот я и ищу, где бы мне понять рамки принципа открытости/закрытости и подстановки Лисков
@PythonHubStudio
@PythonHubStudio 2 роки тому
Это скорее необходимость когда она уместна. Например: Написал какую-то библиотеку, выкинул её в мир и стрегешь капусту. Потом сделал новую версию, но так чтоб старые коды на ней работали, вот в принципе и все
@black_grizzly
@black_grizzly 5 місяців тому
Я не знаю принципов solid и не трогал их даже, но мне показалось странным переопределение классов в дочернем классе. Понимаю, что это пример, конечно же. Но интересно есть ли прикладная часть у такого способа.
@ValeriiSynenko
@ValeriiSynenko 2 роки тому
"этот класс, наследует метод инит, этого класса" что вообще происходит в этом видео??
@koltdota
@koltdota 10 місяців тому
что нельзя было назвать метод "а" по другому для объяснении?
@showrun4747
@showrun4747 5 місяців тому
Судя по обсуждению это непонятно только вам..
@dinazavr95
@dinazavr95 2 роки тому
Импортировать класс, над которым будем издеваться разнообразным образом :ROFL
@Amigo9876
@Amigo9876 2 роки тому
Каждое следующее видео все меньше и меньше просмотров. Видимо не дотягивают люди. Семичасовой курс - 850к просмотров, а ООП и телеграме уже намного меньше, особенно последние видео.
@__rm_
@__rm_ 2 роки тому
открой телеграмм канал пожалуйста. иногда естт вопросы по коду а сам найти решение и ошибку найти не могу. было бы круто. извини за наглость . ты и так много делаешь для нас
@PythonHubStudio
@PythonHubStudio 2 роки тому
Все вопросы в комментах, если не пропущуj(по техническим причинам и если вопрос четко поставлен), будет ответ.
@directinclusion5207
@directinclusion5207 5 місяців тому
Здравия! Плейлист python для начинающих: - " Плейлист не существует. "
@PythonHubStudio
@PythonHubStudio 5 місяців тому
Спасибо, завтра поправлю. Там было видео "python за 7 часов", и парсинг для практики. Эти видео на канале есть, забыл поменять в описании этого видео ссылки. Парсинг в правильной последовательности в плейлисте парсинга, а видео 7 часов отдельно.
@nachfinbolshevik
@nachfinbolshevik 2 роки тому
Кому лень писать код файла class3.py class A: class B: class C(B): class D(C, A): class Verificatoin: def __init__(self, login, password): self.login = login self.password = password self.__lenPassword() def __lenPassword(self): if len(self.password) < 8: raise ValueError ('Слабый пароль') def save(self): with open('users', 'a') as r: r.write(f'{self.login, self.password}' + ' ')
@PythonHubStudio
@PythonHubStudio 2 роки тому
У многих будет ошибка из-за копи-паста в idle, но круть!
@user-kb4je7ii2q
@user-kb4je7ii2q Рік тому
Спасибо)
@Kos37376
@Kos37376 Рік тому
Я ради прикола добавил проверку на заглавную букву в имени пользователя. Вот код,если кому интересно. def __init__(self, login, password): self.__firstletter() def __firstletter(self): if self.login[0].isupper(): return True else: raise ValueError('Укажите заглавную букву')
@ABV1K
@ABV1K 2 роки тому
Спасибо!
Python OOP getters setters, decorator property, classmethod, staticmethod
22:40
Уроки Python с нуля / #19 - Наследование, инкапсуляция, полиморфизм
18:28
Школа itProger / Программирование
Переглядів 113 тис.
Сакура із свічки
00:35
Afinka
Переглядів 153 тис.
😱СНЯЛ СУПЕР КОТА НА КАМЕРУ⁉
00:37
OMG DEN
Переглядів 1,8 млн
skibidi toilet 73 (part 2)
04:15
DaFuq!?Boom!
Переглядів 31 млн
Большие проблемы наследования в ООП
10:51
1. Парсинг сайта на Python. Библиотека Scrapy
31:54
ITMouse: международная школа программирования
Переглядів 5 тис.
Просто о ООП (Парадигмы ООП)
21:14
webDev
Переглядів 40 тис.
ООП: Наследование (Inheritance)
50:42
Python Russian
Переглядів 7 тис.
Сакура із свічки
00:35
Afinka
Переглядів 153 тис.