⚡️ Асинхронное программирование
Давайте приготовим ужин. Закидываем пельмешки в кастрюлю, ждём 5 минут, а пока они готовятся, режем хлеб и делаем салатик.
В этом и суть асинхронного программирования. Пока приложение ждёт окончания какого-либо действия, оно может заниматься чем-то другим, более полезным.
Таким образом мы можем ускорить сетевое приложение (пока оно будет ждать ответа от сервера, оно может делать что-то другое), не прибегая к многопоточности.
#миниурок #async
Давайте приготовим ужин. Закидываем пельмешки в кастрюлю, ждём 5 минут, а пока они готовятся, режем хлеб и делаем салатик.
В этом и суть асинхронного программирования. Пока приложение ждёт окончания какого-либо действия, оно может заниматься чем-то другим, более полезным.
Таким образом мы можем ускорить сетевое приложение (пока оно будет ждать ответа от сервера, оно может делать что-то другое), не прибегая к многопоточности.
#миниурок #async
Что выведет этот код?
Anonymous Quiz
32%
<class 'int'> <class 'float'>
57%
<class 'float'> <class 'float'>
9%
<class 'int'> <class 'int'>
3%
Узнать ответ
⚡️ Зависимости? Вы кто такие? Я вас не звал
Python может решать любые задачи за счёт сторонних библиотек (Tensorflow, pygame, Django). Вот их и называют зависимостями.
Проблема зависимостей в том, что, их нужно устанавливать и в том, что любые изменения в библиотеке, если вы захотите обновиться, повлияют на проект.
Но не стоит писать свой Tensorflow, просто потому что, и не стоит ставить funcy только ради одной функции.
А сохранить зависимости можно с помощью
#теория
Python может решать любые задачи за счёт сторонних библиотек (Tensorflow, pygame, Django). Вот их и называют зависимостями.
Проблема зависимостей в том, что, их нужно устанавливать и в том, что любые изменения в библиотеке, если вы захотите обновиться, повлияют на проект.
Но не стоит писать свой Tensorflow, просто потому что, и не стоит ставить funcy только ради одной функции.
А сохранить зависимости можно с помощью
pip freeze > requirements.txt
(доки). Установить: pip install -r requirements.txt
.#теория
⚡️ Задачка с собеседования | #Medium
Условие:
Вам нужно написать объединение как в игре 2048.
Примеры:
merge([4, 4, 8, 16]) ➞ [8, 8, 16, 0]
merge([8, 8, 16, 0]) ➞ [16, 16, 0, 0]
merge([16, 16, 0, 0]) ➞ [32, 0, 0, 0]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
Условие:
Вам нужно написать объединение как в игре 2048.
Примеры:
merge([4, 4, 8, 16]) ➞ [8, 8, 16, 0]
merge([8, 8, 16, 0]) ➞ [16, 16, 0, 0]
merge([16, 16, 0, 0]) ➞ [32, 0, 0, 0]
📌 Пишите ваше решение в комментариях. Решение будет через несколько часов на этом канале. 👇
#Задачка_с_собеседования
⚡️ Атрибуты функций
И хочу напомнить про
#теория
__name__
возвращает имя функции. __qualname__
— полный путь к функции (ClassC.ClassD.function). __module__
—
модуль, в котором она находится.__defaults__
— кортеж с значениями по умолчанию. __code__
— да-да, вы правильно поняли, код функции.__globals__
— глобальные значения в модуле, где функция была определена.И хочу напомнить про
__dict__
— переменную, которая позволяет добавлять свои атрибуты функции.#теория
⚡️ Виртуальная среда
Сколько у вас проектов на пк? И у каждого свои зависимости. Не хотите перенести их в отдельную папку?
Виртуальная среда — это место, которое изолированно от системы. Создать —
Запуск —
Преимущества: проекты легче переносятся, чище файл
#миниурок
Сколько у вас проектов на пк? И у каждого свои зависимости. Не хотите перенести их в отдельную папку?
Виртуальная среда — это место, которое изолированно от системы. Создать —
python3 -m venv path/to/env
.Запуск —
source path/to/env/bin/activate
. После можете спокойно python, pip, easy_install. Все действия будут происходить внутри среды.Преимущества: проекты легче переносятся, чище файл
requirements.txt
и нет проблем с другими проектами, а также легче полностью избавится от проекта.#миниурок
⚡️ Тестируем код
Если бы люди были роботами, нам бы не приходилось проверять код и pytest был бы никому не нужен.
Но сейчас это самая популярная библиотека для автоматизации тестирования, поэтому её стоит знать.
Она довольно удобная, выводит подробный отчёт, быстро настраивается и даже поддерживает плагины.
Недостатки тоже есть, но они незаметны: доп. зависимость и требует чутка больше знаний, чем unittest.
#миниурок
Если бы люди были роботами, нам бы не приходилось проверять код и pytest был бы никому не нужен.
Но сейчас это самая популярная библиотека для автоматизации тестирования, поэтому её стоит знать.
Она довольно удобная, выводит подробный отчёт, быстро настраивается и даже поддерживает плагины.
Недостатки тоже есть, но они незаметны: доп. зависимость и требует чутка больше знаний, чем unittest.
#миниурок
⚡️ Парсим сайты
Нужно узнать заголовок последней новости? Отслеживать цену товара? Или автоматически находить решение на Stackoverflow? Вам поможет Beautiful soup.
Установка:
Функционал довольно большой и весь список можно найти в документации.
#миниурок #bs4
Нужно узнать заголовок последней новости? Отслеживать цену товара? Или автоматически находить решение на Stackoverflow? Вам поможет Beautiful soup.
Установка:
pip install beautifulsoup4
Модуль может парсить HTML и XML файлы и находить на них нужную информацию. Например, найти заголовок (тег h1) или все ссылки на сайте.Функционал довольно большой и весь список можно найти в документации.
#миниурок #bs4
Что выведет этот код?
Anonymous Quiz
20%
[1, 2, 3]
35%
[0, 1, 2, 3]
36%
[1, 2, 3, 0]
9%
Узнать ответ