👍8🤔4
⚡️ Про область видимости
Вы можете просмотреть все переменные, которые хранятся в определённой области видимости (модуль, класс, функция) с помощью функций
#теория
Вы можете просмотреть все переменные, которые хранятся в определённой области видимости (модуль, класс, функция) с помощью функций
locals()
и dir()
.dir(object)
— возвращает список со всеми доступными именами у object. Если ничего не передано, возвращает имена в конкретной области видимости.locals()
— возвращает словарь со всеми доступными переменными и их значениями в конкретной области видимости. #теория
👍6
⚡️ Наследование
Это один из принципов ООП, который позволяет дочернему классу перенять все возможности родителя. Или, проще говоря, мы переиспользуем код другого класса.
Получить доступ к родителю можно с помощью вызова super(). Оттуда уже можно брать реализации функций, которые мы переопределяем, из родительского класса.
Кстати, по умолчанию все классы наследуются от object, даже если мы этого не указываем. Поэтому у класса будет всё, что есть у object.
#теория
Это один из принципов ООП, который позволяет дочернему классу перенять все возможности родителя. Или, проще говоря, мы переиспользуем код другого класса.
Получить доступ к родителю можно с помощью вызова super(). Оттуда уже можно брать реализации функций, которые мы переопределяем, из родительского класса.
Кстати, по умолчанию все классы наследуются от object, даже если мы этого не указываем. Поэтому у класса будет всё, что есть у object.
#теория
👍12
⚡️ Распаковка
Это удобный инструмент для разделения списка, кортежа, строки на именованные части.
Также распаковка может использоваться при вызове функции. Таким образом мы передаём элементы списка как аргументы.
Для распаковки последовательностей используется одна звёздочка, а для словарей — две.
#теория
Это удобный инструмент для разделения списка, кортежа, строки на именованные части.
Также распаковка может использоваться при вызове функции. Таким образом мы передаём элементы списка как аргументы.
Для распаковки последовательностей используется одна звёздочка, а для словарей — две.
#теория
👍7
🤔6👍3
⚡️ Несколько вариантов одной функции
В Python у вас не может существовать несколько функций с одинаковыми именами, которые работают с разными типами данных. Но такое возможно сделать с помощью multipledispatch.
Установка:
В зависимости от переданных аргументов будет выбираться правильная функция.
#миниурок #multipledispatch
В Python у вас не может существовать несколько функций с одинаковыми именами, которые работают с разными типами данных. Но такое возможно сделать с помощью multipledispatch.
Установка:
pip install multipledispatch
Просто навешиваете @dispatch
на функцию, куда передаёте тип, с которыми работает именно эта функция.В зависимости от переданных аргументов будет выбираться правильная функция.
#миниурок #multipledispatch
👍5
👍4
Что выведет этот код?
Anonymous Quiz
33%
hello world
29%
hello w o r l d
29%
h e l l o w o r l d
9%
Узнать ответ
👍10🤔7
⚡️ Парсим YouTube
С помощью pytube мы можем узнать имя видео, его автора,где он живёт, описание и множество другого. Модуль также работает с плейлистами.
Установка:
Подробнее весь функционал описан в документации. А исходный код можно найти на странице github.
#миниурок #pytube
С помощью pytube мы можем узнать имя видео, его автора,
Установка:
pip install pytube
Стоит отметить, что на обычном парсинге всё не заканчивается. Мы ещё можем загружать видео с ютуба на основе своих предпочтений (качество, расширение).Подробнее весь функционал описан в документации. А исходный код можно найти на странице github.
#миниурок #pytube
👍10
👍8
⚡️ Принципы ООП
Инкапсуляция — объединение переменных и методов для работы с ними в один объект. Также таким образом мы скрываем реализацию поведения методов.
Многие предоставляют инкапсуляцию как запрет доступ к данным, через приватные переменные и подобное. Но на самом деле это называется «Сокрытие данных».
Наследование — передача атрибутов базового (родительского) класса производному (дочернему).
Полиморфизм — грубо говоря, возможность одной и той же функции работать по разному, в зависимости от типа.
#oop
Инкапсуляция — объединение переменных и методов для работы с ними в один объект. Также таким образом мы скрываем реализацию поведения методов.
Многие предоставляют инкапсуляцию как запрет доступ к данным, через приватные переменные и подобное. Но на самом деле это называется «Сокрытие данных».
Наследование — передача атрибутов базового (родительского) класса производному (дочернему).
Полиморфизм — грубо говоря, возможность одной и той же функции работать по разному, в зависимости от типа.
#oop
👍12
👍1