Спасибо огромное. Курс отличный. Я уже писал это по поводу базового курса Python. Вы учите людей не заучивать и механически применять конструкции языка как рецепты из поваренной книги. Вы объясняете не только как это работает, но и ПОЧЕМУ это так работает. Вы учите людей ПОНИМАТЬ язык программирования.
куплю бмв за 4096 спасибо огромное за то,что предоставили такой чудесной курс по ооп,честно,я не знаю как бы я продожил изучения пайтона без вас вы - божественный учитель, ещё раз огромное спасибо
спасибо, прошел с вами весь путь через питон основы и ооп, вы мое спасение. Если бы не вы не знаю как бы учился. Скоро буду изучать джанго и фласк с вами)
Сергей добрый день. Как всегда, все на высшем уровне. По моему скромному мнению, это самый лучший канал по Python на всем пространстве Ютуба. Подача материала, глубина проникновения в саму суть предмета, простота объяснения, подходящий выбор примеров - я бы все это охарактеризовал - ПРЕПОДАВАНИЕ УРОВЕНЬ БОГ. Даже платные курсы не способны сравниться с Вами, это как сравнивать мерседес S-класа и ладу калина, эффект тотже. Спасибо большое за Ваш труд. Хотел бы уточнить - планируется ли освещение такого очень важного и набирающего популярность модуля Asyncio? Что такое процесы, потоки, примеры кода?? Заранее спасибо за ответ. Жму Вам руку, Вы большой молодец!!!🤝🤝🤝🤝🤝🤝🤝
Методы title и author на 2:40 попали в конец инициализатора в дочернем классе. Но они в @dataclass Book имеют дефолтные значения т.е. становятся именованными аргументами. Если же сделать их позиционными они изменят свое положение т.е. будут первыми в __init__ дочернего класса?
Вопрос немного не по теме - я бы хотел знать, можно ли инициализировать переменные класса не в самом конструкторе, а в методе который находится внутри класса, а в конструкторе запустить этот метод? Или нужно обязательно инициализировать переменные именно в теле __init__ ?
Сергей, решил перепройти ваш курс по ООП с датаклассами и застопорился уже на 1.3.5, где у класса надо поменять значения атрибутов и добавить новый атрибут. Если в классическом ООП это делается одной строчкой, то с датаклассами непонятно что делать. Гугл говорит, что надо переопределять все дефолтные параметры через post_init , но это какое-то нагромождение кода. Есть ли способ в классе, с дата классами переопределять атрибуты и создавать новые? (тот же setattr не работает). Спасибо!
Что то не совсем понял вопрос. Дефолтные значения параметров инициализатора прописываются очень просто: @dataclass class ThingData: name: str weight: int price: float = 0 здесь price будет по умолчанию принимать 0. И так для любых дефолтных значений. Если нужно те, что не входят в инициализатор, то прописывайте их в методе __post_init__() через self и все.
Здравствуйте. Не могли бы вы меня сориентировать по тому какую профессию можно освоить в программировании для того, чтобы сменить профессию. Это может быть и платный курс до 2 лет обучения, но на выходе хотелось бы быть специалистом в этом деле.
два года слишком много. лучше практики на реальных задачах ничего нет. возьмите какой то курс плотный 8-9 месяцев, если тех образование есть, 6 месяцев. идити стажором джуном
@@squabble3332 Верно, анатация служит для добавления в инициализатор. И еще добавлю, что аннотация Any просто полезна в общем случае (не только для dataclasses) , код с аннотациями читается гораздо легче, используйте их обязательно, если есть возможность (Py 3.6+). Кстати, у Сергея есть несколько видео по аннотациям, посмотрете если не видели, ссылка на первое - ruclips.net/video/29WDYmT4e1E/видео.html
Приветсвую автора. Отличный канал. Помогите разобрать этот простой код. list3 = [0, 7, 1, 42, 3, 7, 3, 0, 1] solo = 0 for i in range(len(list3)): solo ^= list3[i] print(solo)
Спасибо за курс по ООП Сергей!Вы очень хорошо объясняете, желаю вам успехов!
Спасибо огромное. Курс отличный. Я уже писал это по поводу базового курса Python. Вы учите людей не заучивать и механически применять конструкции языка как рецепты из поваренной книги. Вы объясняете не только как это работает, но и ПОЧЕМУ это так работает. Вы учите людей ПОНИМАТЬ язык программирования.
куплю бмв за 4096
спасибо огромное за то,что предоставили такой чудесной курс по ооп,честно,я не знаю как бы я продожил изучения пайтона без вас
вы - божественный учитель, ещё раз огромное спасибо
Спасибо, Сергей🎉 выучил питон по Вашим курсам
Круто! Дальнейших успехов! ))
Только думаешь, что после курса Сергея шаришь в ООП, как бац - новые датакассы=)))
Спасибо за видео!)
Спасибо за курс!
комментарий в поддержку канала!!! Лайк за проделанную работу!
Просто отличный урок !!! Спасибо что вы делитесь со своими знаниями !!! Скорее у вас тоже не мало текущих научных работ и аспирантов !!!
Вот и подошел к концу отличный курс по ООП. Большое спасибо вам Сергей!
Спасибо большое за курс! Вы отличный учитель, прошел Джанго и решил снова вдумчиво пройти ООП. Очень рад что таки прошел) Всех Вам благ!
спасибо!
спасибо, прошел с вами весь путь через питон основы и ооп, вы мое спасение. Если бы не вы не знаю как бы учился. Скоро буду изучать джанго и фласк с вами)
как продвигается?
Спасибо большое за курс, это было прекрасно!
Спасибо за ваш труд. Не смог найти на вашем канале про многопоточность и про asincio, такие темы будут расмитриваться на вашем канале?
столько всевозможных нюансов, если, при условии, было бы... как это всё запомнить)
Огромное спасибо за курс!
Крутой курс, ты красавчик
Благодарю, классно!
Сергей добрый день.
Как всегда, все на высшем уровне.
По моему скромному мнению, это самый лучший канал по Python на всем пространстве Ютуба.
Подача материала, глубина проникновения в саму суть предмета, простота объяснения, подходящий выбор примеров - я бы все это охарактеризовал - ПРЕПОДАВАНИЕ УРОВЕНЬ БОГ.
Даже платные курсы не способны сравниться с Вами, это как сравнивать мерседес S-класа и ладу калина, эффект тотже.
Спасибо большое за Ваш труд.
Хотел бы уточнить - планируется ли освещение такого очень важного и набирающего популярность модуля Asyncio?
Что такое процесы, потоки, примеры кода??
Заранее спасибо за ответ.
Жму Вам руку, Вы большой молодец!!!🤝🤝🤝🤝🤝🤝🤝
Тоже жду Asyncio:)
Спасибо большое за выпуски!
PS: Было бы здорово, если бы под видео была ссылка не плейлист, куда входит данное видео.
Спасибо, добавлю
Спасибо. Понятно, но до применения мне еще далеко.
Методы title и author на 2:40 попали в конец инициализатора в дочернем классе. Но они в @dataclass Book имеют дефолтные значения т.е. становятся именованными аргументами. Если же сделать их позиционными они изменят свое положение т.е. будут первыми в __init__ дочернего класса?
Возможно, было бы полезно в вашем исполнении иметь урок про линтер (pylint) . Как, зачем, ...
Почему не использовать внутриний GoodsMethodsFactory в Book?
Вопрос немного не по теме - я бы хотел знать, можно ли инициализировать переменные класса не в самом конструкторе, а в методе который находится внутри класса, а в конструкторе запустить этот метод? Или нужно обязательно инициализировать переменные именно в теле __init__ ?
Да, можно, init прописывать не обязательно.
👍👍👍👍👍👍
Интересно, почему при создании через декоратор нужно использовать аннотацию, а при использовании функции make_dataclass - нет?
только начал интересоваться, можешь подсказать с чего мне начинать?
🔥🔥🔥
👏👍
Извините, а почему на 5:16 вывод book отличается от book.__dict__?
датаклассы переопределяют метод _repr_ и возвращают только объявленные атрибуты, а не все подряд
@@selfedu_rus Понял, спасибо!
Здравствуйте, столкнулся с пробемой что weight: int | float = 0 выдает ошибку при том же коде и библиотеках
Сергей, решил перепройти ваш курс по ООП с датаклассами и застопорился уже на 1.3.5, где у класса надо поменять значения атрибутов и добавить новый атрибут. Если в классическом ООП это делается одной строчкой, то с датаклассами непонятно что делать. Гугл говорит, что надо переопределять все дефолтные параметры через post_init , но это какое-то нагромождение кода. Есть ли способ в классе, с дата классами переопределять атрибуты и создавать новые? (тот же setattr не работает). Спасибо!
Что то не совсем понял вопрос. Дефолтные значения параметров инициализатора прописываются очень просто:
@dataclass
class ThingData:
name: str
weight: int
price: float = 0
здесь price будет по умолчанию принимать 0. И так для любых дефолтных значений. Если нужно те, что не входят в инициализатор, то прописывайте их в методе __post_init__() через self и все.
Какие куры планируете на степике, если будут, то когда?
Сейчас делаю небольшой перерыв и как раз подумаю о новых курсах ))
@@selfedu_rus можете создать курс по автоматичному тестированию на пайтоне
хотелось бы курс по паттерному проектированию, как раз по этой теме нету курсов, и желательно, что был курс на степике.
это законченный курс по ооп?
Пока да, ждем очередных новшеств от Гвидо ван Россума ))
@@selfedu_rus ахах, приятно осознавать, что при обновлении языка можно будет изучить новою информацию конкретно с вами)
Здравствуйте. Не могли бы вы меня сориентировать по тому какую профессию можно освоить в программировании для того, чтобы сменить профессию. Это может быть и платный курс до 2 лет обучения, но на выходе хотелось бы быть специалистом в этом деле.
Лучше в телеграм-канал сообществу написать (ссылка под видео)
два года слишком много. лучше практики на реальных задачах ничего нет. возьмите какой то курс плотный 8-9 месяцев, если тех образование есть, 6 месяцев. идити стажором джуном
А на степике будет?
посмотрим )
@@selfedu_rus очень хотелось бы. Отличный курс. Спасибо.
Урок #39 = Пройден
а зачем аннотировать Any ? можно ж тогда вообще не аннотировать ?
как я понял аннотация хоть какая-то дает понять что НЕ нужно пропускать поле и инициализировать его НУЖНО
@@squabble3332 Верно, анатация служит для добавления в инициализатор.
И еще добавлю, что аннотация Any просто полезна в общем случае (не только для dataclasses) , код с аннотациями читается гораздо легче, используйте их обязательно, если есть возможность (Py 3.6+).
Кстати, у Сергея есть несколько видео по аннотациям, посмотрете если не видели, ссылка на первое - ruclips.net/video/29WDYmT4e1E/видео.html
Приветсвую автора. Отличный канал. Помогите разобрать этот простой код.
list3 = [0, 7, 1, 42, 3, 7, 3, 0, 1]
solo = 0
for i in range(len(list3)):
solo ^= list3[i]
print(solo)
Спасибо! С програми вопросы в ТГ (ссылка под видео).