Библиотека Python разработчика | Книги по питону
19.5K subscribers
1.05K photos
391 videos
82 files
988 links
Полезные материалы для питониста по Фреймворкам Django, Flask, FastAPI, Pyramid, Tornado и др.

По всем вопросам @evgenycarter

РКН clck.ru/3Ko7Hq
Download Telegram
Что выдаст следующий код Python?

👉@BookPython
Порядок блоков except имеет значение: если исключение может быть поймано несколькими блоками, то его поймает верхний блок. Этот код не будет работать так, как задумано


import logging

def get(storage, key, default):
try:
return storage[key]
except LookupError:
return default
except IndexError:
return get(storage, 0, default)
except TypeError:
logging.exception('unsupported key')
return default

print(get([1], 0, 42)) # 1
print(get([1], 10, 42)) # 42
print(get([1], 'x', 42)) # error msg, 42


👉@BookPython
Optional_return

Функция optional_return в модуле typing используется для определения функций, которые могут возвращать значение или None.
Это позволяет лучше документировать поведение функции и дает подсказки при использовании ее результата, не опасаясь ошибки, если будет возвращен None.

В данном примере функция find_user может вернуть имя пользователя, если оно найдено в списке, или None, если такого имени нет. Благодаря аннотации Optional[str] мы явно указываем, что возвращаемое значение может быть строкой или None.

👉@BookPython
Декораторы

Декораторы - это функции, которые изменяют поведение других функций. Они полезны для протоколирования, контроля доступа, мемоизации и многого другого.

Asyncio
Модуль asyncio предоставляет основу для асинхронного программирования. Это полезно для связанного с вводом-выводом и высокоуровневого структурированного сетевого кода.

👉@BookPython
NVIDIA Warp

Фреймворк на Python для высокопроизводительного моделирования и графики на GPU

Warp - это фреймворк на языке Python для написания высокопроизводительного кода для моделирования и графики. Warp берет обычные функции Python и JIT-компилирует их в эффективный код ядра, который может работать на CPU или GPU.

Warp предназначен для пространственных вычислений и поставляется с богатым набором примитивов, позволяющих легко писать программы для моделирования физики, восприятия, робототехники и обработки геометрии. Кроме того, ядра Warp являются дифференцируемыми и могут использоваться в составе конвейеров машинного обучения с такими фреймворками, как PyTorch и JAX.

https://github.com/NVIDIA/warp

👉@BookPython
Создание графика Box and Whisker

Используя matplotlib и seaborn, вы можете создать базовый график Box and Whisker.

👉@BookPython
Процесс аутентификации по паролю с помощью Python

👉@BookPython
Создание шрифтов с помощью Python

👉@BookPython
Различные вычисления, многопоточность, асинхронность и мультипроцессность в Python

Всем привет! Меня зовут Дмитрий Первушин, я лидер Python-компетенций трайба ИСУ в Сбере.

Эта статья рассчитана на людей, которые уже знакомы с Python, хотя бы на уровне junior+. Я объясню, какие есть отличия и особенности в многопоточности, асинхронности и мультипроцессности в Python, где и когда они используются. Как говорится в пословице: «Всё познаётся в сравнении», именно в таком стиле я подготовил примеры. Кроме этого, буду специально делать ошибки и рассматривать неправильные подходы, чтобы можно было сразу разобраться, убедиться и запомнить, почему так делать нельзя и какой другой подход в этом случае нужно использовать.

https://habr.com/ru/companies/sberbank/articles/829098/

👉@BookPython
Как правильно записать данные в файл? Что может пойти не так в ином случае?

Когда вы используете инструкцию open без контекстного менеджера и перед закрытием файла возникает какое-либо исключение, могут возникнуть проблемы с памятью. В таком случае файл будет повреждён.
Если вы используете инструкцию with для открытия файла и возникает проблема, Python гарантирует, что файл будет корректно закрыт.

👉@BookPython
Метод join

Метод join() позволяет объединить элементы последовательности (списка, кортежа и т.д.) в строку.

Основные моменты:

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

👉@BookPython
Какие различия есть между методами для списков append() и extend()?

Методы append() и extend() для списков имеют разное назначение:

— append() добавляет один элемент в конец списка, принимая в качестве аргумента этот элемент.

my_list.append(10) — добавит число 10 в конец списка my_list.

— extend() расширяет список добавляя в него несколько элементов сразу. В качестве аргумента принимается итерируемый объект (список, кортеж и т.п.).

my_list.extend([10, 20, 30]) — добавит числа 10, 20, 30 в конец списка my_list.

👉@BookPython
Напишите функцию, которая будет принимать два списка чисел (вложенный и обычный) и проверять, все ли числа в подсписках вложенного принадлежат множеству чисел второго, обычного списка

Примечания:
1) пустой список считаем валидным подмножеством множества чисел второго списка
2) в каждом отдельном списке (как во вложенных, так и во втором, обычном списке) числа будут уникальными

👉@BookPython
Бот-парсер маркетплейса на Python

В этой статье я решил показать один из методов парсинга на Python на примере маркетплейса Wildberries.

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

https://habr.com/ru/companies/amvera/articles/834582/

👉@BookPython
Global Interpreter Lock (GIL)

GIL — это механизм, который используется в Python для управления потоками выполнения. Он гарантирует, что в любой момент времени только один поток выполняется в интерпретаторе.

Он может быть полезен для задач, связанных с вводом-выводом или с использованием сторонних библиотек, написанных на языках, которые не поддерживают многопоточность.

В примере выше мы создаем два потока и запускаем их одновременно. Но из-за GIL каждый поток будет выполняться по очереди, а не параллельно.

👉@BookPython
Алгоритмы на Python

Включает в себя массу алгоритмов от арифметического анализа до блокчейна и структур данных.

https://github.com/TheAlgorithms/Python/blob/master/DIRECTORY.md

👉@BookPython