https://www.youtube.com/watch?v=hCgC1-rWQL0
Ну во-первых, получите ответы на вопросы, кто сомневался, почему я настаиваю на том, что бы функции были отточены до блеска.
Опять же мы двигаемся в направлении, что бы поднять планку знаний и здесь ответ прост, что бы писать крутой код, нужно видеть этот крутой код.
Но сложен ли он этот крутой код?
Мы с вами смотря на этот код, собрали знания, которые нам нужны.
Кроме этого обратите внимание, как просто понять смысл кода, если опять же у нас твёрдо усвоены функции и мы умеем работать с документацией.
нам легко понять логику Кейта Магги, так как его код всегда очень чистый и для нас есть понимание к какому коду нужно стремится, как раз-таки и обговорили ещё раз, почему этот код крутой. Ответ прост - он очень простой. Ведь реализация в пару строк.
Но все же главная задача была с чего начать ООП правильно, давайте мы посмотрим на сам код и ответим, код нам сам подскажет с чего нам нужно начать и что уяснить.
Кстати, Денис работал с итерациями. ловите с этого видео, ещё один шаблон использования итераций, продробнее позже рассмотрим.
Так же напишем позже, но уже сейчас будем понимать это выражение, я объяснил, как легко читать if/else в одну строку. банально просто. увидите и очень у-у-добно
self.elements = set() if iterable is None else set(iterable) # то на что Сергей написал, не понимаю. Уже будете понимать, а дальше разложим.