⚡️ Про область видимости
Вы можете просмотреть все переменные, которые хранятся в определённой области видимости (модуль, класс, функция) с помощью функций
#теория
Вы можете просмотреть все переменные, которые хранятся в определённой области видимости (модуль, класс, функция) с помощью функций
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
⚡️ Лямбда функции
Лямбда функциями называют те, что определены с помощью lambda. Также их называют анонимными функциями, поскольку у них нет имени.
В таких функциях всегда только одно выражение, которое, чаще всего, что-то возвращает. Они могут использовать переменные из конкретной области видимости.
Таким образом нам нужно намного меньше кода для создания простой функции. Также лямбда-функции часто используются вместе с
#теория
Лямбда функциями называют те, что определены с помощью lambda. Также их называют анонимными функциями, поскольку у них нет имени.
В таких функциях всегда только одно выражение, которое, чаще всего, что-то возвращает. Они могут использовать переменные из конкретной области видимости.
Таким образом нам нужно намного меньше кода для создания простой функции. Также лямбда-функции часто используются вместе с
map()
и filter()
.#теория
👍9