#17. Магический метод __bool__ определения правдивости объектов | ООП Python
HTML-код
- Опубликовано: 14 дек 2021
- Курс по Python ООП: stepik.org/a/116336
Как работает функция bool() применительно к объектам пользовательских классов. Переопределение стандартного ее поведения с помощью магического метода __bool__.
Инфо-сайт: proproprogs.ru/python_oop
Telegram-канал: t.me/python_selfedu
Да, просмотров немного, но не бывает неважных тем, бывают ленивые ученики, которые пытаются отмахаться от ненасущных тем. А я все видео у Вас, Сергей, подряд пылесошу! Спасибо Вам огромное за работу!
просмотров всё меньше, а значит, отсеиваются слабые) ОГРОМНОЕ спасибо за курс. пишу сейчас, и наверно напишу в конце. Всё понятно, но ощущение, будто я новый язык начал изучать, хотя вроде с питоном на ты общался.
такая же статистика и в решениях на степике по базовому курсу Python этого же автора. Там правда задачи попадаются такие, что по пол дня приходится ломать голову над решением.
Сергей, Ваши видео и методика подачи материала потрясающая!!!!! Спасибо Вам огромное за работу!
bool(Balakirev)= True
Спасибо. Очень круто!
спасибо
Спасибо огромное
Спасибо за учёбу
Сергей как это интересно
спасибо!👏👍
easy to understand
👍
Я не совсем понимаю, почему при вызове bool, у нас срабатывает магический метод __len__(). Вот когда мы делаем len(экземплярКласса) - это понятно. Но какая связь между bool и len? Выглядит как - почеши пятку, если нос чешется.
все пустое - false, не пустое - true (из философии Python)
Здравствуйте. Извините, что не по теме. Не могу решить проблему, возможно вы подскажете куда смотреть... Есть основной скрипт, есть импортируемый в него скрипт. В импортируемом скрипте в функции есть команда изменяющая глобальную переменную в основном скрипте. Но, она не меняет переменную. Не помогает не global в функции, не import, не from import*... есть возможность управлять переменной именно в модуле? Или я что-то не так делаю... Заранее спасибо...
Все должно работать легко и просто. Так как глобальная переменная только для чтения, то просто обращайтесь к ней, учитывая пространство имен (название файла, модуля).
Если в Point передать такие числа, что в __len__ получается дробное значение, то будет ошибка
Добрый день! Чем платный курс "Добрый, добрый Python ООП - обучающий курс от Сергея Балакирева" отличается от этого плейлиста "Объектно-ориентированное программирование (ООП) на Python 3" ?
только заданиями практическими, больше ничем
Без практики, только по видео, вы ничему не научитесь. Только ознакомитесь. А потом успешно забудете, пока в работе не встретится.. А вот самостоятельно применять не сможете.
а зачем это все нужно? не легче ли прописать в самом класе метод|функцию которая делает те же самые вычисления и использовать этот метод при необходимости?
так удобнее, например, использовать непосредственно в условных операторах
0:37 "для _пустых_ данных"? - четыре раза прослушал на пониженной скорости и сомневаюсь, что правильно расслышал слово _пустых_ .
Это именно так называется для числовых значений?
да, это жаргон такой, 0 - пустое, не 0 - не пустое
@@selfedu_rus просто я никогда так не называю нулевое значение переменной и это меня напрягло. Интересно узнать, насколько распространён такой "жаргон" для числовых переменных.
_я не работаю в команде программистов, поэтому не знаком с этим_
None, тоже пустое
Интересно, почему пустой список является ложным, а полный истинным, но метода __bool__ у списков нет?
Все пустое ложное, заполненное - истинно. А как вы определили, что метода __bool__ нет у списков?
@@selfedu_rus Что за глупый вопрос? Как я определил. Да очень просто
hasattr([],"__bool__")
@@user-gf6er4ug6g так в видео же показано что bool() может работать и через len(), который есть у списков
Почему автор всегда при возведении в квадрат пишет в виде x * x, а не x**2? Даже если имя переменной на полстроки.
x*x, вроде, работает несколько быстрее, чем x**2
может пора уже переходить на полиморфизм?
все будет
@@selfedu_rus пасиба