#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
Все, что вы не знали о разработке, науке и технологиях, ищите в сообществе @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))
Начинаю серию публикаций полезного материала по изучению DA/DS. Если вам нравится такой формат пишите в комментариях.

Основы Python

Книги:
- Книга «Python для детей», Джейсон Бриггс Машинное обучение, big data, веб-аналитика и создание роботов — всё это раньше звучало как фразы из фильмов про будущее, а теперь это наше настоящее. Современные дети много времени проводят за компьютером — дайте же им шанс научиться программировать Смотреть описание
- Книга «Код. Тайный язык информатики», Чарльз Петцольд Книга, не только объясняющая как и почему работают компьютеры, но и приучающая к инженерному мышлению. Смотреть описание
- Книги по изучению Python Смотреть подборку
- Книга «Python для сложных задач. Наука о данных и машинное обучение», Вандер Плас Дж. Подробное руководство по самым разным вычислительным и статистическим методам, без которых немыслима любая интенсивная обработка данных, научные исследования и передовые разработки. Смотреть описание
- Книга «Python. Карманный справочник», Лутц Марк В лаконичной форме здесь представлены все необходимые сведения о типах данных и операторах Python, специальных методах, встроенных функциях и исключениях, наиболее употребительных стандартных библиотечных модулях и других примечательных языковых средствах Python. Смотреть описание
- Книга «Automate the Boring Stuff with Python», Al Sweigart Книга про автоматизацию различной рабочей рутины Читать книгу

Полезные материалы:
- Курс «Python для начинающих» от Code Basics Первый модуль посвящен азам построения программ на Python. Он готовит плацдарм для написания осмысленных программ. Познакомиться с курсом
- Чтобы совершать меньше ошибок и разобраться в том, как ваш код работает, научитесь его дебажить и отлаживать. В этом помогут вот эти статьи:
- Отладка Python приложений с помощью pdb
- Профилирование и отладка Python
- Отладка (юнит с Хекслета)
- Python 3 Cheat Sheet (Шпаргалка по основам Python)

Дополнительные материалы:
- Основы Python — http://pythontutor.ru Отличная платформа, которая показывает, как вообще думает Python. И огромный плюс, что тут показывают чего от вас хотят, т.е. дают вопрос, набор данных и ответ, а вам нужно написать код.
- https://pythonworld.ru/samouchitel-python — очень хороший сайт, который дает не только основы, но и хорошо разобраны многие модули (например, Pandas).
- https://github.com/whitehorn/pyLearn — Python для начинающих. В своё время, когда я учился программировать на python, я понял, что лучший способ не забыть "как именно вызывать вот ту функцию, которая делает xyz" - это сесть и написать шпаргалку. Со временем их стало много, появился ipython notebook, который теперь jupyter notebook. В итоге я оформил небольшой вводный курс по python для студентов в виде серии jupyter notebook's (от install до библиотеки эффективных численных вычислений numpy). С курсом можно ознакомиться на моей страничке в GitHub
- Книга A Byte of Python: http://wombat.org.ua/AByteOfPython/
- Занятная статья с хаками для анализа данных http://proglib.io/p/analysis-hacks/
- Материал про форматирование текста через f-строки — https://shultais.education/blog/python-f-strings
- про словари есть тут http://pythontutor.ru/lessons/dicts/
- Lambda, map and filter https://medium.com/better-programming/lambda-map-and-filter-in-python-4935f248593
- https://www.codewars.com/ - выбираете питон и решаете различные задачки на нем. Гугля различные способы, читаете чужие решения, учитесь понимать чужой код, находите новые способы.
5 важных аспектов замыканий в Python

https://nuancesprog.ru/p/13907/

@machinelearning_ru