#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
Функции. Ленивые вычисления в Python

В этой статье мы разобрали, как работают ленивые вычисления в Python, какие функции от этого выигрывают и почему.

Читать статью

#функции
Тест. lambda выражения.

С помощью этого теста вы сможете проверить, насколько хорошо вы знаете лямбда-выражения. Это очень важная тема, потому что порой применение лямбда-выражений ощутимо упрощает процесс разработки.

Пройти тест

#тест #функции
Топ 5 Python веб фреймворков в 2020 году.

Собрали пятерку самых популярных и надежных веб-фреймворков Python. Эти фреймворки подойдут как для мелких проектов, так и для крупных сайтов.

Читать статью
Все, что вы не знали о разработке, науке и технологиях, ищите в сообществе @selectelnews

https://t.me/SelectelNews/1909
Tips & Tricks. Цикл for в Python: тонкости написания

В этой статье:

- выводим индекс и значение одновременно
- избавляемся от вложенных циклов с помощью функции product
- используем модуль Itertools.

Читать статью
Forwarded from Python Community
⚡️ Профилируем код

Профилирование — это сбор информации о программе по типу нагрузки на ЦП, видеокарту или использование памяти.

В этом нам поможет scalene — модуль с открытым исходным кодом, позволяющий эффективно собрать информацию об использованных ресурсах. Все преимущества модуля можно почитать тут.

Установка: pip3 install scalene

Работа с ним очень простая. Команда scalene file.py запускает скрипт и отслеживает его работу, а после выполнения выводит результат, как на фото выше.

В случае, если у вас возникнут ошибки при выполнении, установите версию python 3.7 и выше.
Forwarded from Python Community
⚡️ Ответ на предыдущую задачу
Forwarded from Инжиниринг Данных (Dmitry Anoshin)
У этой специализации очень высокий рейтинг на курсере, кто-нибудь пробовал? https://www.coursera.org/professional-certificates/google-it-automation#courses
Forwarded from Python Community
⚡️ Ускоряем выполнение кода

Для этого отлично подойдёт модуль concurrent.futures — он отлично подойдёт, например, для одновременного копирования файлов или параллельных вычислений.

Первым делом стоит определится, каким образом вы собираетесь разделять выполнения: с помощью потоков или используя процессы.

Далее — создайте экземпляр класса, желательно с помощью with, или самостоятельно вызвать shutdown.

С помощью submit нужно также создать задачу, чтобы получить класс Future.

Теперь с помощью Future вы можете отслеживать выполнение функции.

Например, можно запустить result() и приостановить основный поток в ожидании результата (остальные потоки будут продолжать работать).

Если хотите почитать подробнее, можете сделать это тут.

#миниурок #concurrent
Простые шаги сделать ваш Python код лучше

Используйте Flake8 — инструмент, позволяющий просканировать код проекта и обнаружить в нем стилистические ошибки и нарушения различных конвенций кода на Python.
Помните, что flake8 не модифицирует код, а просто проверят его. Подправить ошибки придется в ручную.

У Python нет обязательной статической типизации, но рекомендуется добавлять типы в аргументы функции и возвращаемые типы. Для этого просто используйте mypy и не забудьте подправить ошибки.

Black поможет форматировать ваш код в соответствии со стандартом.

isort — это библиотека Python для сортировки импорта по алфавиту с автоматическим разделением на разделы и по типу. Очень удобно.

Вы можете запускать black, flake8 и mypy вручную, но это не удобно. Мы можем автоматизировать процесс с помощью pre-commit hook и Github Actions.

Более подробно со скриншотами, кодом и примером можно почитать в моём блоге.
Многие современные Web-приложения используют API-схемы для описания того, как они работают. Но само наличие схемы не значит, что реальное приложение будет вести себя так, как описано в схеме. Причин этому множество — от принципиальной невозможности выразить всё в схеме до обыкновенного недосмотра. Последствий тоже множество, и падение приложения — одно из самых безобидных.

Дмитрий Дыгало расскажет о Schemathesis — инструменте, который помогает решить многие из этих проблем при помощи property-based-тестирования. Если вас интересует практическое применение property-based-тестирования и то, как его внедрить, читайте об этом в нашей новой статье.

🔹А 27-28 сентября приходите на Moscow Python Conf++ 2021. Впервые за два года мы встречаемся офлайн. Нам есть, что обсудить. Билеты, расписание и тезисы докладов здесь.
Forwarded from Код Желтый
Мы идем на PyCon Russia 2021 — 4 доклада в основной программе, 1 в ML-треке и 1 воркшоп. Делимся расписанием докладов наших спикеров:

📎 5 сентября 10:50 — Андрей Алексеев «ETNA Time Series Library: удобное прогнозирование временных рядов»
📎 5 сентября 17:00 — Александр Шибаев «Внедрение зависимостей, контейнеры и прочие проявления SOLID в питоне. Как жить на большом проекте»
📎 6 сентября 12:00 — Илья Иваников «Воршкоп Flask-Admin, SQLAlchemy и FastAPI или как приготовить простой и удобный интрумент для работы с любыми унифицированными документами»
📎 6 сентября 12:50 — Антон Палий «Python и метрики. Мониторинг наше все»
📎 6 сентября 15:50 — Владислав Мухаматнуров «Автоматизатор в команде питонистов»
📎 6 сентября 15:50 — Данил Ахтаров «Кэширование — делаем всё правильно»

… и крутейшим видеоанонсом выступлений 📽 Увидимся на PyCon Russia!

https://www.youtube.com/watch?v=BFpnbBoARhs
Forwarded from Python Community
⚡️ Взаимодействуем с текстом

Для этого идеально подойдёт flashtext — модуль, позволяющий заменять или собирать информацию из строки.

Установка: pip install flashtext

Его основное преимущество над regex — скорость выполнения. Библиотека использует свой алгоритм и, таким образом, увеличивает производительность.

На примере выше представлен лишь небольшой функционал библиотеки, а изучить её полностью можно на сайте документации.

#миниурок #flashtext
Forwarded from Python School
Удаление знаков препинания

Модуль string в Python имеет множество встроенных констант с отдельными наборами символов. string.punctuation — один из них, поэтому мы будем использовать его для очистки строки.

В Python3 string.punctuation — это предварительно инициализированная строка, используемая как строковая константа. В Python string.punctuation даст все наборы знаков препинания.
Forwarded from Владимир П.
import timeit

def l():
d1 = {x: y for x, y in zip(range(40), range(0,1000))}
d2 = {x: y for x, y in zip(range(40), range(0,1000))}
return {**d1, **d2}

def t():
d1 = {x: y for x, y in zip(range(40), range(0,1000))}
d2 = {x: y for x, y in zip(range(40), range(0,1000))}
return d1 | d2


print(timeit.timeit(l, number=100000))
print(timeit.timeit(t, number=100000))