#python python... PYTHON 🔛 🚀
11 subscribers
914 photos
7 videos
158 files
1.54K links
Download Telegram
Многие современные 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
Forwarded from Python Academy
Работаем со временем без головной боли

При работе со временем и датами у встроенных модулей есть несколько неприятных моментов:

— Их слишком много: datetime, time, calendar, dateutil, pytz и другие;
— В них слишком много типов: date, time, datetime, tzinfo, timedelta, relativedelta и т. д.

И вот на днях я наткнулся на пакет arrow, который их решает. Во-первых, там есть все необходимое. Во-вторых, все объекты имеют один и тот же тип Arrow.

Большой плюс в том, что пакет совместим с основными встроенными типами. Например, выше я преобразовал datetime в Arrow и обратно.

Еще из приятных бонусов: там есть функция humanize, которая конвертирует время в читаемый текст.

#время #arrow
Forwarded from Python Academy
Частичное применение

Сегодня поговорим об одном интересном концепте из области функционального программирования. Использовать будем функцию partial из стандартной библиотеки functools.

Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций.

Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров.

#functools
Forwarded from Python Academy
Порядок разрешения методов

В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов в классе. Всё, что вам нужно знать – это порядок, в котором Python ищет нужный атрибут или метод.

Этот порядок можно получить при помощи атрибута __mro__. Он говорит о том, что если мы в примере выше попробуем обратиться к атрибуту value, Python будет искать сначала в классе A, далее в B, затем в C и в самом конце в object

Отсюда становится понятно, что артибут первее будет найден именно в классе B и равен он будет значению 1.

#классы
Forwarded from Python Academy
Точка входа

В некоторых языках программирования есть функции main(), с которых начинается выполнение программы. Но в Python весь код исполняется построчно.

Как вариант, многие пишут основную логику программы в обычную функцию main(), а вызывают ее только в условии if __name__ == '__main__'. Здесь стоит объяснить отдельно про то, что такое __name__.

Переменная __name__ — это специальная переменная, которая будет равна '__main__', только если файл запускается как основная программа. А при импорте в качестве модуля выставляется равной имени модуля.

Таким образом, программа корректно заработает, только если запустить ее напрямую. Если импортировать ее как модуль в другой скрипт, то условие не сработает.

#main
Forwarded from Python Academy
Получаем календарь

В модуле calendar есть функция month(), которая вернет календарь указанного месяца в виде строки, как показано в примере. А функция calendar() выдаст целый год.

Если строки строки не устраивают, то в модуле есть много методов для получения самых разных итераторов. А еще там можно даже получить календарь в виде HTML.

Кстати, модуль является встроенным, отдельно его устанавливать не нужно.

#calendar