⚡️ Асинхронное программирование
Давайте приготовим ужин. Закидываем пельмешки в кастрюлю, ждём 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%
Узнать ответ
⚡️ else в цикле
Вы его не ждали, а он там есть. Выполняется когда цикл заканчивает свою работу, если до этого не был вызван break.
Если появится ошибка или цикл встретит на пути continue, то код из else всё равно сработает.
#теория
Вы его не ждали, а он там есть. Выполняется когда цикл заканчивает свою работу, если до этого не был вызван break.
Если появится ошибка или цикл встретит на пути continue, то код из else всё равно сработает.
#теория