Комментарий для тех, кто придирается к автору по поводу "плагиата": 1. большинству новичков воспринимать печатный текст книг/статей/очерков некомфортно, сложно, лень и т.д.; видео и аудио - это отличная альтернатива печатному варианту любой информации ---> её просто легче воспринимать (понятное дело, что чем больше каналов поступления информации - аудио, видео, текст, диаграммы и иллюстрации - тем выше способность усвоить материал \\\ просто видео-формат приятнее для начала); 2. очень важную роль играет голосовая подача материала автором, его интонация, логические ударения, комментарии-вставки, объяснения своими словами и так далее; зритель-слушатель-читатель привыкает к голосу автора, его манере изложения, что формирует "виртуальное доверие" к автору, благодаря чему дальнейшие видео-уроки усваиваются легче (просто сравните подачу материала знакомого автора в видео-уроке с тем же материалом, написанным в книге ---> разница есть); 3. интерактивный кодинг - это прям супер-мега-крутая вещь!!! автор не сваливает в IDE уже готовый код из 10-50 строчек, а пишет строчку за строчкой, попутно разъясняя всё и вся, попутно запускает код, показывает результат.. иногда и указывает на ошибки {P.S.: было бы очень круто, если бы автор также показывал, как пользоваться отладчиком =)) }; всё это откладывается в памяти куда лучше и эффективнее, усваиваемость материала возрастает! в печатном варианте мы сразу видим 10-50 строк кода, что поначалу немного пугает, запутывает, уходит много времени на разбор.. разбор кода может располагаться на следующих/предыдущих страницах, что не всегда удобно для отслеживания кода.. Внимание, это не хейтерство в адрес информации в печатном формате, а лишь сравнительная характеристика для новичков! читать книги - нужно обязательно! 4. ну и последнее, самое важное - так называемый "плагиат".. лично я не вижу ничего криминального в том, что автор использует такие же примеры из книг. Читать книгу возьмётся далеко не каждый новичок, потому что ===>(см. выше). Так называемый вами "плагиат" - это не показатель низкой компетентности автора и его ограниченности и тем более это не способ пропиариться на чужом имени и знании! Все библиотеки Python, вся документация и весь софт - по большей части - всё доступно абсолютно каждому и совершенно бесплатно.. Всё комьюнити Python придерживается идеи беспрепятственного и безвозмездного распространения знаний. Поэтому, дорогие зрители-самоучки, большая просьба - отнеситесь к труду автора максимально толерантно и уважительно. Ведь даже "слизать из книги" (как вы говорите) и грамотно это донести только-только начинающим маслятам - тоже надо нехило так попотеть! Всем мир, а автору отдельный респект! =)
Для меня как раз то, что нужно. Я прочитал половину книги (теоретическая часть), откуда взяты эти уроки, и теперь закрепляю полученные знания этими видеоуроками)
Это просто волшебно, очень многое понял, завтра днём снова посмотрю, а то ООП мне совсем не даёться, 2 недели сидел ломал голову как сделать лабораторку. Попав на ваше видео наконец-то дошло как её сделал, надеюсь получиться, ну а видео на 80 проц понятное и доступное, спасибо.
Андрей, спасибо большое за построчное разжевывание материала, благодаря твоему видео наконец-то разъяснились некоторые непонятные для меня моменты! Продолжай в том же духе 👍
Оканчивал курсы по питону, в целом препод объяснял не плохо, но с темой ООП разобрался только по вашим урокам! Андрей, продолжайте! английский забавный)
Всё отлично и очень понятно! Давай ещё видео про статические, приватные методы и свойства! И про разницу в применении атрибутов и методов класса и экземпляра Один момент: ёмкость, заряд батареи и мощность - это три разных параметра ;)
про подкласс - если создать в подклассе несколько атрибутов но в потомке создать экземпляр с одним атрибутом, то получится обращаться к методу подкласса только через этот атрибут. Но если в методе к которому обращаемся в подклассе применить и другие атрибуты (которые мы не прописывали при создании экземпляра подкласса в потомке) то они спокойно применяются.
Уроки замечательные . Уточнить понятие. Речь должна идти не о мощности батареи , а её энергоемкости, которая выражается не в квт , а в квт-часах. Тогда можно говорить , что она убавилась от пробега или (с помощью соответствующего метода) добавилась энергия. Мощность батареи не меняется
Спасибо большое! Единственное все свойства которые находиться в классе являются классами и у них у всех есть свои поля и свои метоты. А не только класс Battery. В Python вообще всё классы. там нет возможности объявить отдельно ячейку памяти
Дополнение к коду из предыдущего урока : создал наследника и отдельный класс, в результате выходит: у админа есть следующие привилегии: ничего. "Ничего" по дефолту стоит, но не разобрался как при выводе менять его привилегии(то есть в экземпляре) class User(): """Класс для сайта""" def __init__(self, first_name, second_name): """Описание пользователя""" self.first_name = first_name self.second_name = second_name self.kolichestvo_vhodov = 0 def login(self): """Метод чтобы залогиниться (Пользователь указывает имя,фамилию при входе""" a = input("Введите имя: ") b = input("Введите фамилию: ") self.first_name = a self.second_name = b print("Здравствуйте, ", self.first_name.title(),self.second_name.title()) def login2(self): """Метод чтобы залогиниться (Пользователь указывает имя,фамилию при создании экземпляра""" print("Здравствуйте, ", self.first_name.title(),self.second_name.title()) def kolichestvo(self): """Считает количество входов + выводит количество заходов""" self.kolichestvo_vhodov = self.kolichestvo_vhodov + 1 print("Вы вошли ", self.kolichestvo_vhodov, " раз") def razloginitsya(self): """Метод чтобы разлогиниться""" print("Вы вышли из своего профиля")
user1 = User("sam vvedet", "sam vvedet") user2 = User("Николай", "Петров") class Privilegii(): """Privilegii admina""" def __init__(self, privilegii="nichego"): self.privilegii = privilegii def info(self): print("У админа есть следующие привилегии: ", self.privilegii)
Вот вторая домашка ___________________________________________ import math class restorant: def __init__(self): self.time=12 self.seat=30 self.personal=15 def times(self,hours): if hours < 12: self.time= self.time - hours print("Осталось работать: " + str(self.time)+ " час(а/ов)") else: print("Ресторан закрыт") exit() def seats(self,quntity): if quntity > 0 and quntity 0: self.personal= self.seat/2 print("Свободно: " + str(math.floor(self.personal)) + ' официант(а/ов)') else: print("Весь персонал занят") class hookah(restorant): def __init__(self, grass,tobacco ): self.grass= grass self.tobacco= tobacco super().__init__() def hookahs(self): print("Есть два вида кальяна, "+ self.grass + " и " + self.tobacco) def order(self,type): if self.time> 2: if type == self.grass: print("Кальян будет готов через 1 час ") elif type == self.tobacco: print("Кальян будет готов через 30 минут") else: print("Извините,но ресторан закроется меньше чем через час") some=restorant() hour=int(input("Введите количество пройденный часов с начала дня: ")) some.times(hour) peopl= int(input("Введите количество людей: ")) some.seats(peopl) some.personals() some=hookah("Трава", "Табак") some.hookahs() types=str(input("Введите на чём вы хотите кальян: ")) some.order(types) _____________________________________________________ но тут тоже есть вопрос, функция где заказывают кальян, почему у меня не работает первичное условие, где если время работы ресторана меньше часа, то выполняется условие print("Извините,но ресторан закроется меньше чем через час"), просто пропускается и всё также можно заказать сорт кальяна
7:25 может аидео и полезное, клнтент очень итересен, но не могу смотреть , когда нарошно каверкают слова Програм фалос, суссесс, сапэ еще что придумаете?
Добрый день. Остался один вопрос - зачем мы переставили в коде класс Battery над классом Electrocar? Ведь код работает и без перестановки. Да и было бы логично расположить Battery под Electrocar, так как условно первый является подклассом второго. Спасибо за подробный и доступный разбор классов!
Андрей, все это конечно хорошо =) Но сказал А говори и Б. Как же Полиформизм и Инкапсуляция, в купе с Наследованием, это основные понятия ООП.... Без него, считай начинай сначала.... Знаю что наследование самое простое из 3х... но все-же... PS я понимаю что в книгах для "чайников" обычно рассматриваются только базовые вещи, но это та причина по которой люди прочитавшие эти книги ищут информацию в других местах. Ну и конечно не хватает отдельных видео - "под капотом Python", понятно что все в Python "объект" только смысл этого понять может не каждый новичек. Может стоит объяснить ,что динамический список, на самом деле несколько статических списков ?) Надеюсь мой FeedBack, поможет в развитие твоего канала. Успехов и удачи!
Python специфичен в этом плане инкапсуляции, как в С подобных здесь нет, есть ее подобие и тому, кому нужно будет сам дойдет. Это ведь база а не про курс
класные уроки, многое обьясняеш просто и доходчиво. наконец то сложил в голове мозаику class_self_init. при наследовании класа, если подклас не получает дополнительного элемента то def __init__ можно не писать? и super тоже?
Считаю немного неудачный пример использования super().__init__ Нагляднее было бы показать на примере множественного наследования. А description_battery достаточно определить как description_battery(self, battery = 100), все остальные атрибуты перейдут из родительского класса (без __init__)
Здравствуйте! Спасибо большое за такое подробное объяснение. Но у меня возник вопрос уточняющий: на 27 минуте Вы говорите что в атрибуте любого класса можно использовать экземпляр класса. Но "экземпляр" есть "объект", а не "класс". Вы же прописали именно "класс" Battery, но не сам экземпляр bett, как на 58 строке. Или я ошибься в терминологии?
Иван, если я правильно понял ваш вопрос, tesla это экземпляр который обращается к классу Electriccar. В 49 строке указано, что атрибут self.battery будет относиться к классу Battery, поэтому вызывая функцию description_battery мы обращаемся к аргументу (который уже относится к классу Battery, поэтому нет необходимости вызывать сам класс), а далее вызываем уже саму функцию. Возможно, вы запутались в терминологии =)
в самом начале мы вызвали super() чтобы в дочерний класс передать атрибуты родительского. А __init__ показывает с какого метода взять атрибуты. Правильо ли я понял?
Доработка сегодняшнего занятия Добавьте в класс Батарей метод разряда батареи, который принимает параметр пробега и внутри умножает пробега на расход батареии и потом отнимает данные с атрибута батареи А как сделать так, чтобы класс Батарея принимал атрибут odometer_value из класса Car?
Допустим, я хочу создать экземляр ElectricCar с ёмкостью батареи отличной от 100 КВт. Где я должен буду вписать мои 85 КВт? my_tesla = ElectricCar('tesla', 'model s', 2019) Можно прописать в методе __init__ класса ElectricCar: self. battery = Battery(85) Но тогда 85КВт будет автоматически прописываться каждому создаваемому экземпляру ElectricCar.
Не очень удачно выбрано название, потому что, как я понял, чтобы вывести заряд батареи, нужно будет написать print(tesla.battery.battery) , что не очень ясно из-за повтора.
А если я захочу у класса потомка добавить еще один входной параметр? Цвет. Ну чтобы вот так экземпляр класа создавать: tesla=ElectrickCar('tesla','s',2017,'black') Можно добавлять дополнительный параметр?
почему САПЕР? английский учить срочно)))) даже сам повторяет 20 раз супер, супер класс. но слово почему-то САПЕР. Сапер - с английского переводится как ужин и чтобы буква U читалась как русская А - нужна сдвоенная согласная p. supper - вот это САПЕР.
понравилось, однако видно что автор не очень хорошо понимает тему, ещё и источник не указал хотябы где-то. все равно спасибо, многим будет удобнее слушать, чем читать, но если что "Изучаем Python" Эрик Мэттиз
А почему вы "супер" [super] называете "ужином" [supper], да еще и слово из 19 века... Это когда хочется учень грамотно выделиться, пишешь на тетради по русскому языку - "руский язик"
Большое уважение автору, всё чётко и понятно. Лучшие видео об ООП, что я видел
Главное не останавливайтесь на достигнутом
@@andrievskii вы единственный, кто смог объяснить это
чемт на пример из книжечки python-crash-course похоже
Комментарий для тех, кто придирается к автору по поводу "плагиата":
1. большинству новичков воспринимать печатный текст книг/статей/очерков некомфортно, сложно, лень и т.д.; видео и аудио - это отличная альтернатива печатному варианту любой информации ---> её просто легче воспринимать (понятное дело, что чем больше каналов поступления информации - аудио, видео, текст, диаграммы и иллюстрации - тем выше способность усвоить материал \\\ просто видео-формат приятнее для начала);
2. очень важную роль играет голосовая подача материала автором, его интонация, логические ударения, комментарии-вставки, объяснения своими словами и так далее; зритель-слушатель-читатель привыкает к голосу автора, его манере изложения, что формирует "виртуальное доверие" к автору, благодаря чему дальнейшие видео-уроки усваиваются легче (просто сравните подачу материала знакомого автора в видео-уроке с тем же материалом, написанным в книге ---> разница есть);
3. интерактивный кодинг - это прям супер-мега-крутая вещь!!! автор не сваливает в IDE уже готовый код из 10-50 строчек, а пишет строчку за строчкой, попутно разъясняя всё и вся, попутно запускает код, показывает результат.. иногда и указывает на ошибки {P.S.: было бы очень круто, если бы автор также показывал, как пользоваться отладчиком =)) }; всё это откладывается в памяти куда лучше и эффективнее, усваиваемость материала возрастает! в печатном варианте мы сразу видим 10-50 строк кода, что поначалу немного пугает, запутывает, уходит много времени на разбор.. разбор кода может располагаться на следующих/предыдущих страницах, что не всегда удобно для отслеживания кода.. Внимание, это не хейтерство в адрес информации в печатном формате, а лишь сравнительная характеристика для новичков! читать книги - нужно обязательно!
4. ну и последнее, самое важное - так называемый "плагиат".. лично я не вижу ничего криминального в том, что автор использует такие же примеры из книг. Читать книгу возьмётся далеко не каждый новичок, потому что ===>(см. выше). Так называемый вами "плагиат" - это не показатель низкой компетентности автора и его ограниченности и тем более это не способ пропиариться на чужом имени и знании! Все библиотеки Python, вся документация и весь софт - по большей части - всё доступно абсолютно каждому и совершенно бесплатно.. Всё комьюнити Python придерживается идеи беспрепятственного и безвозмездного распространения знаний.
Поэтому, дорогие зрители-самоучки, большая просьба - отнеситесь к труду автора максимально толерантно и уважительно. Ведь даже "слизать из книги" (как вы говорите) и грамотно это донести только-только начинающим маслятам - тоже надо нехило так попотеть!
Всем мир, а автору отдельный респект! =)
Большое спасибо за такой развернутый отзыв
Для меня как раз то, что нужно. Я прочитал половину книги (теоретическая часть), откуда взяты эти уроки, и теперь закрепляю полученные знания этими видеоуроками)
Использование учебника, при проведении лекций это значительный плюс, т.к. делает преподавание системным. Спасибо за уроки!
а не подскажите какой учебник он использует?
Это просто волшебно, очень многое понял, завтра днём снова посмотрю, а то ООП мне совсем не даёться, 2 недели сидел ломал голову как сделать лабораторку. Попав на ваше видео наконец-то дошло как её сделал, надеюсь получиться, ну а видео на 80 проц понятное и доступное, спасибо.
Ну как получилось сделать?
Андрей, спасибо большое за построчное разжевывание материала, благодаря твоему видео наконец-то разъяснились некоторые непонятные для меня моменты!
Продолжай в том же духе 👍
Спасибо тебе, очень качественное изложение материала
Удачи в обучении
Андрей, Спасибо Огромное! , очень нравятся Ваши курсы, и наконец с Вашей помощью стало ясно как работает+писать наследование в Питоне.
Гениальное объяснение ООП, спасибо огромное!!!
Андрей, огромное спасибо тебе за видео!
Огромное спасибо, очень понятно объясняешь.
Оканчивал курсы по питону, в целом препод объяснял не плохо, но с темой ООП разобрался только по вашим урокам! Андрей, продолжайте!
английский забавный)
все подробно обесняешь клево слов нет
Круто, очень понятно объясняет! Респект
Спасибо! Супер объяснение!
Молодец 👍. Ещё хотелось бы добавить - if можно определять как «если» а точку можно определять как «дай ка мне». Это значительно облегчает восприятие.
Спасибо за урок, все доходчиво)
Всё отлично и очень понятно!
Давай ещё видео про статические, приватные методы и свойства! И про разницу в применении атрибутов и методов класса и экземпляра
Один момент: ёмкость, заряд батареи и мощность - это три разных параметра ;)
Спасибо огромное, я прозрел
Спасибо тебе огромное, в книге про композицию в ООП кошмар что написано, а теперь я понимаю что куда и зачем.
Супер. Просто супер. Это правильно и на русском и на английском.
Спасибо огромное
очень понятно, лайк за автомобильный пример
про подкласс - если создать в подклассе несколько атрибутов но в потомке создать экземпляр с одним атрибутом, то получится обращаться к методу подкласса только через этот атрибут. Но если в методе к которому обращаемся в подклассе применить и другие атрибуты (которые мы не прописывали при создании экземпляра подкласса в потомке) то они спокойно применяются.
Вы лучший! Спасибо огромное!
Уроки замечательные . Уточнить понятие. Речь должна идти не о мощности батареи , а её энергоемкости, которая выражается не в квт , а в квт-часах. Тогда можно говорить , что она убавилась от пробега или (с помощью соответствующего метода) добавилась энергия. Мощность батареи не меняется
Потребляемая мощность от батареи зависит от нагрузки
сделай уроки по tkinter многооконное приложение ,очень интересно
молодец! самые полезные уроки которые я нашел
Спасибо большое! Единственное все свойства которые находиться в классе являются классами и у них у всех есть свои поля и свои метоты. А не только класс Battery. В Python вообще всё классы. там нет возможности объявить отдельно ячейку памяти
Красавчик! лайк d
7:00 супер super просто супер. Откуда вы взяли "саппэ"?
уважаю тебя братан
Спасибо за урок!
Пожалуйста
Краткий гайд о том, как создать тесту за 30 минут
это ПО для теслы)
кстати, как успехи в программировании?
Дополнение к коду из предыдущего урока : создал наследника и отдельный класс, в результате выходит: у админа есть следующие привилегии: ничего. "Ничего" по дефолту стоит, но не разобрался как при выводе менять его привилегии(то есть в экземпляре)
class User():
"""Класс для сайта"""
def __init__(self, first_name, second_name):
"""Описание пользователя"""
self.first_name = first_name
self.second_name = second_name
self.kolichestvo_vhodov = 0
def login(self):
"""Метод чтобы залогиниться (Пользователь указывает имя,фамилию при входе"""
a = input("Введите имя: ")
b = input("Введите фамилию: ")
self.first_name = a
self.second_name = b
print("Здравствуйте, ", self.first_name.title(),self.second_name.title())
def login2(self):
"""Метод чтобы залогиниться (Пользователь указывает имя,фамилию при создании экземпляра"""
print("Здравствуйте, ", self.first_name.title(),self.second_name.title())
def kolichestvo(self):
"""Считает количество входов + выводит количество заходов"""
self.kolichestvo_vhodov = self.kolichestvo_vhodov + 1
print("Вы вошли ", self.kolichestvo_vhodov, " раз")
def razloginitsya(self):
"""Метод чтобы разлогиниться"""
print("Вы вышли из своего профиля")
user1 = User("sam vvedet", "sam vvedet")
user2 = User("Николай", "Петров")
class Privilegii():
"""Privilegii admina"""
def __init__(self, privilegii="nichego"):
self.privilegii = privilegii
def info(self):
print("У админа есть следующие привилегии: ", self.privilegii)
class Administrator(User):
"""Дочерний класс"""
def __init__(self,first_name, second_name):
super().__init__(first_name, second_name)
self.privilegii = Privilegii()
Administrator_ivan = Administrator("ivan", "petrov")
Administrator_ivan.privilegii.info()
Вот вторая домашка
___________________________________________
import math
class restorant:
def __init__(self):
self.time=12
self.seat=30
self.personal=15
def times(self,hours):
if hours < 12:
self.time= self.time - hours
print("Осталось работать: " + str(self.time)+ " час(а/ов)")
else:
print("Ресторан закрыт")
exit()
def seats(self,quntity):
if quntity > 0 and quntity 0:
self.personal= self.seat/2
print("Свободно: " + str(math.floor(self.personal)) + ' официант(а/ов)')
else:
print("Весь персонал занят")
class hookah(restorant):
def __init__(self, grass,tobacco ):
self.grass= grass
self.tobacco= tobacco
super().__init__()
def hookahs(self):
print("Есть два вида кальяна, "+ self.grass + " и " + self.tobacco)
def order(self,type):
if self.time> 2:
if type == self.grass:
print("Кальян будет готов через 1 час ")
elif type == self.tobacco:
print("Кальян будет готов через 30 минут")
else:
print("Извините,но ресторан закроется меньше чем через час")
some=restorant()
hour=int(input("Введите количество пройденный часов с начала дня: "))
some.times(hour)
peopl= int(input("Введите количество людей: "))
some.seats(peopl)
some.personals()
some=hookah("Трава", "Табак")
some.hookahs()
types=str(input("Введите на чём вы хотите кальян: "))
some.order(types)
_____________________________________________________
но тут тоже есть вопрос, функция где заказывают кальян, почему у меня не работает первичное условие, где если время работы ресторана меньше часа, то выполняется условие print("Извините,но ресторан закроется меньше чем через час"), просто пропускается и всё также можно заказать сорт кальяна
🎉
Все классно спасибо
7:25 может аидео и полезное, клнтент очень итересен, но не могу смотреть , когда нарошно каверкают слова
Програм фалос, суссесс, сапэ еще что придумаете?
Респект тебе
красавчик
Пришёл посмотреть что такое наследование и даже узнал как в атрибут каласа запихнуть экземпляр класса лайк онднозначно
Спасибо, очень понятно и просто.
Добрый день. Остался один вопрос - зачем мы переставили в коде класс Battery над классом Electrocar? Ведь код работает и без перестановки. Да и было бы логично расположить Battery под Electrocar, так как условно первый является подклассом второго.
Спасибо за подробный и доступный разбор классов!
Почему в print используешь конкатенацию а не метод .format ?
тем более, что это со всех сторон не очень, как память так и быстродействие (или в новых версиях питона можно использовать f строки)
здравствуйте, данные ролики по ООП ещё актуальные ?
Ну ООП оно и через 10 остается ООП))
Андрей, все это конечно хорошо =) Но сказал А говори и Б.
Как же Полиформизм и Инкапсуляция, в купе с Наследованием, это основные понятия ООП....
Без него, считай начинай сначала.... Знаю что наследование самое простое из 3х... но все-же...
PS я понимаю что в книгах для "чайников" обычно рассматриваются только базовые вещи, но это та причина по которой люди прочитавшие эти книги ищут информацию в других местах.
Ну и конечно не хватает отдельных видео - "под капотом Python", понятно что все в Python "объект" только смысл этого понять может не каждый новичек. Может стоит объяснить ,что динамический список, на самом деле несколько статических списков ?)
Надеюсь мой FeedBack, поможет в развитие твоего канала.
Успехов и удачи!
Python специфичен в этом плане инкапсуляции, как в С подобных здесь нет, есть ее подобие и тому, кому нужно будет сам дойдет. Это ведь база а не про курс
если еще в прямом эфире запускал что бы задать вопросы было бы вообще круть
класные уроки, многое обьясняеш просто и доходчиво. наконец то сложил в голове мозаику class_self_init.
при наследовании класа, если подклас не получает дополнительного элемента то def __init__ можно не писать? и super тоже?
Ну все зависит от функционала подкласса
аккамулятора...)))
Считаю немного неудачный пример использования super().__init__ Нагляднее было бы показать на примере множественного наследования. А description_battery достаточно определить как description_battery(self, battery = 100), все остальные атрибуты перейдут из родительского класса (без __init__)
а __init__ тоже перейдет?
Здравствуйте! Спасибо большое за такое подробное объяснение. Но у меня возник вопрос уточняющий: на 27 минуте Вы говорите что в атрибуте любого класса можно использовать экземпляр класса. Но "экземпляр" есть "объект", а не "класс". Вы же прописали именно "класс" Battery, но не сам экземпляр bett, как на 58 строке. Или я ошибься в терминологии?
Иван, если я правильно понял ваш вопрос, tesla это экземпляр который обращается к классу Electriccar. В 49 строке указано, что атрибут self.battery будет относиться к классу Battery, поэтому вызывая функцию description_battery мы обращаемся к аргументу (который уже относится к классу Battery, поэтому нет необходимости вызывать сам класс), а далее вызываем уже саму функцию. Возможно, вы запутались в терминологии =)
задание про ресторан (тоже походу не верно, но все же попытки)):
class Restoran():
def __init__(self, desert, cocacola, fanta, pervoeblyudo):
"""Тут информация о еде"""
self.desert = desert
self.cocacola = cocacola
self.fanta = fanta
self.pervoeblyudo = pervoeblyudo
self.jobtime = 15
self.mesto = 87
def info(self):
"""информация об еде"""
print("В ресторане из десертов имеются ", self.desert + ",", "Кока-колы штук " + str(self.cocacola), "фанты штук " + str(self.fanta))
def kolichestvo_mest(self):
"""Количество мест в ресторане"""
self.mesto = self.mesto - 1
print("Количество столиков: " + str(self.mesto))
def job_time(self):
self.jobtime = self.jobtime - 1
print("Осталось работать: " + str(self.jobtime) + " часов")
def kolichestvo_sotrudnikov(self,sotrudniki=45):
print("В ресторане работают ", sotrudniki, "сотрудников")
coyote = Restoran("только торт", 5, 8, "Суп")
coyote.info()
coyote.job_time()
coyote.job_time()
coyote.kolichestvo_mest()
coyote.kolichestvo_mest()
coyote.kolichestvo_sotrudnikov()
class Tabaki():
""" Тут про табаки """
def __init__(self, tabaki="Serbetli, AlPhaker, Adalya"):
self.tabaki = tabaki
def sorty(self):
print("U nas est tabaki ", self.tabaki)
"""class Ugolok_kalyana(Restoran):
(с отдельным выделением класса) Дочерний класс Ресторана специально для уголка кальяна
def __init__(self, desert, cocacola, fanta, pervoeblyudo):
super().__init__(desert, cocacola, fanta, pervoeblyudo)
self.tabaki = Tabaki()"""
class Ugolok_kalyana(Restoran):
"""Дочерний класс Ресторана специально для уголка кальяна"""
def __init__(self,desert, cocacola, fanta, pervoeblyudo):
super().__init__(desert, cocacola, fanta, pervoeblyudo)
self.tabaki = "Serbetli, AlPhaker, Adalya"
print("Здравствуйте, у нас из табаков имеются: ",self.tabaki)
def zakazat_kalyan(self, sort="AlPhaker"):
self.tabaki = sort
print("Вы заказали ", self.tabaki)
kalyanoman = Ugolok_kalyana("только торт", 5, 8, "Суп")
"""kalyanoman.tabaki.sorty()"""
kalyanoman.zakazat_kalyan()
(для удобства скопировать и вставить в компилятор)
В целом не плохо.
Super - сьюпэ, сапэ-supper
ха я даже не понял что за сапэ, пока ты не написал комент
в самом начале мы вызвали super() чтобы в дочерний класс передать атрибуты родительского. А __init__ показывает с какого метода взять атрибуты. Правильо ли я понял?
Доработка сегодняшнего занятия
Добавьте в класс Батарей метод разряда батареи, который принимает параметр пробега и внутри умножает пробега на расход батареии и потом отнимает данные с атрибута батареи
А как сделать так, чтобы класс Батарея принимал атрибут odometer_value из класса Car?
А как добавить два и > экземпляров ElectricCar с разными характеристиками Battery
А бывает так, чтобы один объект принадлежал к двум независимым классам?
Я только что понял клас в котором есть атрибут которой раввин другому классу в котором есть свои атребути ЭТО ГРОБАНА МАТЙОШКА
Дай ссылку на первое видео
Допустим, я хочу создать экземляр ElectricCar с ёмкостью батареи отличной от 100 КВт. Где я должен буду вписать мои 85 КВт?
my_tesla = ElectricCar('tesla', 'model s', 2019)
Можно прописать в методе __init__ класса ElectricCar:
self. battery = Battery(85)
Но тогда 85КВт будет автоматически прописываться каждому создаваемому экземпляру ElectricCar.
сапэмен!
Андрей, большое спасибо!
Скажите, а можно не писать пустые скобки у класса родителя?
То есть просто:
class Car:
Честно не знаю, просто привык со скобками, попробуйте, если будет все работать, то не пишите))
Начиная с python3 скобки писать не нужно)
Что такое .instance
Не очень удачно выбрано название, потому что, как я понял, чтобы вывести заряд батареи, нужно будет написать print(tesla.battery.battery) , что не очень ясно из-за повтора.
Так если мы наследуем от класса, зачем снова инициализировать его? Нам параметры инит передадутся автоматически!
Какой редактор кода?
PyCharm, но он платный
@@andrievskii спс
@@andrievskii PyCharm Professional платный, а PyCharm Community бесплатный.
А если я захочу у класса потомка добавить еще один входной параметр? Цвет.
Ну чтобы вот так экземпляр класа создавать:
tesla=ElectrickCar('tesla','s',2017,'black')
Можно добавлять дополнительный параметр?
почему САПЕР? английский учить срочно)))) даже сам повторяет 20 раз супер, супер класс. но слово почему-то САПЕР. Сапер - с английского переводится как ужин и чтобы буква U читалась как русская А - нужна сдвоенная согласная p. supper - вот это САПЕР.
текст ярче и крупнее
понравилось, однако видно что автор не очень хорошо понимает тему, ещё и источник не указал хотябы где-то. все равно спасибо, многим будет удобнее слушать, чем читать, но если что "Изучаем Python" Эрик Мэттиз
это ж пересказ книги
Я бы сказал практический и с домашними заданиями. Разве это плохо?
А что за книга?
@@АндрейСидоров-ц3ж Э.Метиз "Изучаем Python. Программирование игр, визуализация данных, веб-приложения."
@@pavelgrigorov1296 спасибо)
А почему вы "супер" [super] называете "ужином" [supper], да еще и слово из 19 века... Это когда хочется учень грамотно выделиться, пишешь на тетради по русскому языку - "руский язик"
Тоже пишу на python, только у меня 1 подписчик😪
не пробовал добавлять видео?
@@АнтонСергеевич-я4л )))
ппц! А можно было свой пример класса придумать а не слизывать с книжки....
Конечно можно было!
он не слизывает, а объясняет по книге, в школе же учителя не придумывают уроки и задания, они учат по книгам, так проще и надёжнее
Я считаю что автору видео нужно сказать спасибо за то что разжевал материал из книги (книга: "Изучаем Питон Эрик Мэтез")