https://pythonist.ru/kak-sozdavat-naglyadnye-grafiki-v-python-bystro-krasivo-i-ochen-krasivo/ - хорошая статья про графики в python
#plots
#plots
Pythonist
Создаем графики при помощи библиотек Python: быстро и красиво
Создание графиков при помощи библиотек языка Python. Библиотеки Matplotlib, Seaborn и Plotly. Большое количество примеров графиков и кода.
https://towardsdatascience.com/advanced-sqlalchemy-features-you-need-to-start-using-e6fc1ddafbdb - статья о фичах sqlalchemy
#sqlalchemy #orm
#sqlalchemy #orm
Towards Data Science
Advanced SQLAlchemy Features You Need To Start Using | Towards Data Science
Working with SQL in Python can be easy with SQLAlchemy and its hybrid properties, nested queries, table metadata, dialects and more!
https://m.habr.com/ru/post/512102/ - еще одна статья о динамическом создании классов и функции type
#type #classes
#type #classes
Хабр
Динамическое определение класса в Python
Под динамическим определением объекта можно понимать определение во время исполнения. В отличие от статического определения, которое используется в привычном определении класса с помощью ключевого...
Forwarded from Python книги
Книги. Топ-7 книг по алгоритмам на русском языке
Изучение алгоритмов для будущего разработчика это обязательный этап. Мы собрали для вас несколько самых лучших книг по алгоритмам, опубликованных на русском языке (ссылки на скачивание прилагаются).
Изучение алгоритмов для будущего разработчика это обязательный этап. Мы собрали для вас несколько самых лучших книг по алгоритмам, опубликованных на русском языке (ссылки на скачивание прилагаются).
https://m.habr.com/ru/company/qrator/blog/513014 - методы защиты и обхода защиты от web-scraping
#scraping #parsing
#scraping #parsing
Хабр
Web scraping вашего сайта: непрошеные гости и как их встречают
На первом в истории полностью виртуальном мероприятии РИТ++, прошедшем в конце мая, инженер Qrator Labs — Георгий Тарасов, рассказал публике про веб-скрейпинг, он же парсинг, популярным языком. Мы...
Цепочки итераторов
Cостыковывая многочисленные итераторы в цепочку, можно
писать чрезвычайно эффективные «конвейеры» обработки данных:
Cостыковывая многочисленные итераторы в цепочку, можно
писать чрезвычайно эффективные «конвейеры» обработки данных:
def integers():
for i in range(1, 9):
yield i
>>> chain = integers()
>>> list(chain)
[1, 2, 3, 4, 5, 6, 7, 8]
def squared(seq):
for i in seq:
yield i * i
>>> chain = squared(integers())
>>> list(chain)
[1, 4, 9, 16, 25, 36, 49, 64]
def negated(seq):
for i in seq:
yield -i
>>> chain = negated(squared(integers()))
>>> list(chain)
[-1, -4, -9, -16, -25, -36, -49, -64]
Ключи в словарях
как {True: 'возможно'} , потому что сравнение всех ключей этого примера,
True , 1 , и 1.0 , будет показывать их как эквивалентные друг другу, и они
все имеют одинаковое хеш-значение
>>> {True: 'да', 1: 'нет', 1.0: 'возможно'}
{True: 'возможно'}
Выражение-словарь {True: 'да', 1: 'нет', 1.0: 'возможно'} вычисляетсякак {True: 'возможно'} , потому что сравнение всех ключей этого примера,
True , 1 , и 1.0 , будет показывать их как эквивалентные друг другу, и они
все имеют одинаковое хеш-значение
>>> True == 1 == 1.0#hash #eq #dict
True
>>> (hash(True), hash(1), hash(1.0))
(1, 1, 1)