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

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

РКН clck.ru/3Ko7Hq
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
9 библиотек Python для разработки игр

Разработка игр на Python — это не только PyGame, Tower Defense и платформеры, а это и DOOM, и MMORPG, и симуляторы свиданий/отношений, и визуальные новеллы, и конкурсы DARPA, и моделирование вселенной, и автотрекинг низкоорбитальных спутников.

Под катом список 9 библиотек для разработки игр и полезные гайды к каждой библиотеке.

https://habr.com/ru/post/645041/

@BookPython
👍3👏2🤔1
Создание изображения в Python

PIL - это библиотека Python Imaging Library, предоставляющая интерпретатору python возможности редактирования изображений.
Метод PIL.Image.new() создает новое изображение с заданным режимом и размером. Размер задается в виде кортежа (ширина, высота) в пикселях. Цвет задается в виде единичного значения для однополосных изображений и кортежа для многополосных (по одному значению для каждой полосы).
Можно также использовать имена цветов. Если аргумент color опущен, то изображение заполняется нулем (обычно это соответствует черному цвету). Если цвет равен None, то изображение не инициализируется. Это может быть полезно, если вы собираетесь вставлять или рисовать что-либо на изображении.

# Imports PIL module
import PIL

# creating a image object (new image object) with
# RGB mode and size 200x200
im = PIL.Image.new(mode="RGB", size=(200, 200))

# This method will show image in any image viewer
im.show()


https://www.geeksforgeeks.org/python-pil-image-new-method/

@BookPython
👍21
Full Stack Django and React: Get hands-on experience in full-stack web development with Python, React, and AWS
Автор: Kolawole Mangabo (2023)

Разработчикам Django часто приходится прибегать к помощи front-end разработчиков для создания клиентских решений для своих веб-приложений. Объединяя возможности React и Django, эта книга создает полный путь обучения, позволяющий в кратчайшие сроки пройти путь от бэкенд-разработчика до разработчика полного стека. Эта книга поможет вам использовать React для создания самых современных макетов пользовательского интерфейса и Django для создания безупречного бэкенда.

Скачать

👉 @python_360
👍51
Функциональное программирование в Python: ежедневные рецепты

Как говорится, спроси пять программистов, что такое функциональное программирование, получишь шесть разных ответов. В целом это программирование через функции в их математическом понимании, то есть когда функция принимает что-то на вход и что-то возвращает на выходе, не меняя глобального состояния.

В своей команде — команде разработки инструментов для разработчиков под KasperskyOS — мы создаем разные интересные консольные утилиты, эмулятор, обеспечиваем интеграцию с IDE и так далее. И для этого мы используем разные языки — C++, C, TypeScript; но больше всего пишем на Python.

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

https://habr.com/ru/companies/kaspersky/articles/762788/

@BookPython
👍2
Год ожиданий — и мы получили Python 3.12. Изменения, новшества и дополнения

Новую версию Python многие разработчики ожидали с нетерпением. Кто-то и не ждал, поскольку вполне достаточно было возможностей прежней версии. Но Python 3.12 таки выпустили, сейчас стало известно, что эту ветку будут поддерживать полтора года, а потом для нее станут формировать исправления для устранения уязвимостей — в течение еще трех с половиной лет.

Кроме того, запущен процесс альфа-тестирования Python 3.13, где заявлен режим сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock). Тестировать ветку будут в течение семи месяцев, исправляя ошибки и добавляя новые возможности. Затем еще три месяца — тестирование бета-версий и еще через два месяца появится пред-финальная версия. Но будет потом, а сейчас поговорим о том, что уже есть в руках — о Python 3.12.

https://habr.com/ru/companies/selectel/articles/761914/

@BookPython
👍10
Веселая шпаргалка для изучения методов Python

@BookPython
👍12🔥2😁1
Извлечение текста из файлов PDF при помощи Python

В эпоху больших языковых моделей (Large Language Model, LLM) и постоянно расширяющейся сферы их применений непрерывно растёт и важность текстовых данных.

Существует множество типов документов, содержащих подобные виды неструктурированной информации, от веб-статей и постов в блогах до рукописных писем и стихов. Однако существенная часть этих данных хранится и передаётся в формате PDF. В частности, выяснилось, что за каждый год в Outlook открывают более двух миллиардов PDF, а в Google Drive и электронной почте ежедневно сохраняют 73 миллионов новых файлов PDF (2).

Поэтому разработка более систематического способа обработки этих документов и извлечения из них информации позволит нам автоматизировать процесс и лучше понять этот обширный объём текстовых данных. И в выполнении этой задачи, разумеется, нашим лучшим другом будет Python.

Rus https://habr.com/ru/companies/ruvds/articles/765246/

Eng https://towardsdatascience.com/extracting-text-from-pdf-files-with-python-a-comprehensive-guide-9fc4003d517

@BookPython
👍6
Пишем простую игру на python

Сегодня мы создадим всем известную игру камень, ножницы, бумага. В этом нам поможет ЯП python и библиотека tkinter.

https://habr.com/ru/articles/480906/

@BookPython
👍8🥱21👎1
Мы рады сообщить о выпуске расширений Python и Jupyter для Visual Studio Code

Этот выпуск включает в себя следующие анонсы:
Обновление расширения Python Debugger
Отказ от поддержки Python 3.7
Опция Lint on change для расширения Pylint
Область видимости отчетов расширения Mypy и daemon mode

https://devblogs.microsoft.com/python/python-in-visual-studio-code-october-2023-release/

@BookPython
👍1
Полноценный 2D-платформер на Python в 2023? Мой опыт

Говорят, что на Python легко и просто создавать платформеры. Правда ли?

Предисловие
Все мы были когда-то детьми. И те, кто вырос в 90-ые, наверняка играли в приставку Денди (в США она называлась NES - Nintendo Entertainment System). Среди всех игр была одна игра, которая мне особенно запомнилась, так как была не похожа на все остальные. Это игра The Addams Family (1992 год, студия Ocean). В игре была какая-то своя атмосфера. И мне захотелось создать что-то похожее.

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

https://habr.com/ru/articles/766162/

@BookPython
👍2
10 лучших практик логирования в Python

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

В этой статье мы рассмотрим лучшие практики логирования в Python. Следуя им, вы сможете обеспечить информативность, практичность и масштабируемость генерируемых логов. Давайте начнём!

Rus https://habr.com/ru/companies/ruvds/articles/766010/

Eng https://betterstack.com/community/guides/logging/python/python-logging-best-practices/

@BookPython
👍6
Самоучитель Pygame для начинающих - курс по разработке игр на Python

⌨️ (0:00:00) Installing Python and Pycharm
⌨️ (0:04:12) Creating Our First Game Window
⌨️ (0:12:39) Changing the Title, Logo and Background Color
⌨️ (0:20:33) Adding Images into Our Space Invader Game
⌨️ (0:29:57) Movement Mechanics in Game Development
⌨️ (0:38:13) Keyboard Input Controls & Key Pressed Event
⌨️ (0:49:53) Adding Boundaries to Our Game
⌨️ (0:53:28) Creating the Enemy
⌨️ (0:59:14) Movement Mechanics of the Enemy Space Invader
⌨️ (1:06:51) Adding a Background Image
⌨️ (1:12:08) Creating Bullets for Shooting
⌨️ (1:26:21) Shooting Multiple Bullets at Space Invaders
⌨️ (1:34:24) Collision Detection
⌨️ (1:48:05) Creating Multiple Enemies
⌨️ (1:55:08) Adding Text and Displaying Score
⌨️ (2:03:17) Adding Sounds and Background Music
⌨️ (2:09:05) Game Over

https://www.youtube.com/watch?v=FfWpgLFMI7w

@BookPython
👍7
Media is too big
VIEW IN TELEGRAM
15 Фишек с СЛОВАРЯМИ Python, которые сделают код лучше

В данном видео мы рассмотрим 15 особенностей словарей Python, о которых вы возможно не знали. Мы рассмотрим полезные методы и на примерах докажем их эффективность. Это всё будет подкрепляться теоретическими примерами, чтобы улучшить понимание словарей.

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

0:00 - Почему эта информация будет вам полезна?
0:28 - Особенности словаря
3:00 - Создание словарей через разные конструкции dict
3:48 - Для чего нужны аннотации в связке с dict и как их использовать?
4:19 - Как комбинировать обычные словари с функцией dict?
4:33 - Как принять список в аргументы dict?
5:05 - Извлекаем значения словаря игнорируя исключение KeyError
7:26 - Как автоматически обновлять данные словаря?
8:59 - Значения словаря можно изменять во время выполнения
9:19 - Несколько способов удаления из словаря
11:16 - Как проверить наличие ключа в словаре Python?
11:53 - Глубокое и неглубокое копирование словарей (Как это работает в памяти)
14:15 - Как узнать длину словаря Python?
14:28 - Удобные итерации по словарям (keys, values, items)
15:07 - Генераторы словарей. Создаем 100 объектов в несколько строчек кода
16:18 - Вложенность в словарях, для чего это нужно?
16:48 - OrderedDict - Сохраняем порядок внутри словаря
17:23 - DefaultDict - Автоматическая обработка KeyError
18:27 - Создаем красивый DataFrame из Pandas
18:55 - Знаете ли вы другие фишки с словарями?

источник

@BookPython
👍5
FIFO очередь asyncio в Python

Обмен данными между короутинами можно осуществлять с помощью asyncio.Queue.
В этом уроке вы узнаете, как обмениваться данными между короутинами с помощью очередей в Python.
Давайте начнем.

# consume work
async def consumer(queue):
print('Consumer: Running')
# consume work
while True:
# get a unit of work
try:
# retrieve the get() awaitable
get_await = queue.get()
# await the awaitable with a timeout
item = await asyncio.wait_for(get_await, 0.5)
except asyncio.TimeoutError:
print('Consumer: gave up waiting...')
continue
# check for stop
if item is None:
break
# report
print(f'>got {item}')
# all done
print('Consumer: Done')

https://superfastpython.com/asyncio-queue/#What_is_an_Asyncio_Queue

@BookPython
👍4
JetBrains и Python Software Foundation рассказали, как разработчики использовали Python в 2022 году

JetBrain совместно с Python Software Foundation опубликовали результаты большого исследования, помогающего понять, как разработчики использовали Python в 2022 году. Исследование строится на базе опроса разработчиков. В 2022 году в нём приняло участие более 23 тыс. человек из почти 200 регионов.

https://habr.com/ru/news/766124/

@BookPython
👍41
Python. Импорт данных

1. Импорт Excel№2. Импорт CSV
3. Импорт с веб-сайта (HTML)
4. Импорт таблиц XML
5. Импорт таблиц из PDF
5. Импорт таблиц из PDF (расширенная версия)
6. Импорт таблиц из Word
7. Импорт таблиц из Word

источник

@BookPython
👍6😁1