Год ожиданий — и мы получили 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
Новую версию 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
Извлечение текста из файлов 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
В эпоху больших языковых моделей (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
Сегодня мы создадим всем известную игру камень, ножницы, бумага. В этом нам поможет ЯП python и библиотека tkinter.
https://habr.com/ru/articles/480906/
@BookPython
👍8🥱2❤1👎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
Этот выпуск включает в себя следующие анонсы:
Обновление расширения 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
Microsoft News
Python in Visual Studio Code – October 2023 Release
The October 2023 release of the Python and Jupyter extensions for Visual Studio Code are now available. This month's updates include Python debugger extension updates, deprecation of Python 3.7 support, and a recap of Open Source Day. Keep reading to learn…
👍1
Полноценный 2D-платформер на Python в 2023? Мой опыт
Говорят, что на Python легко и просто создавать платформеры. Правда ли?
Предисловие
Все мы были когда-то детьми. И те, кто вырос в 90-ые, наверняка играли в приставку Денди (в США она называлась NES - Nintendo Entertainment System). Среди всех игр была одна игра, которая мне особенно запомнилась, так как была не похожа на все остальные. Это игра The Addams Family (1992 год, студия Ocean). В игре была какая-то своя атмосфера. И мне захотелось создать что-то похожее.
Придумываем сюжет и геймплей
Сюжет в игре будет очень простым: мы купили поместье викторианской эпохи, и когда туда приехали, нам очень сильно захотелось заснуть. При этом мы обратили внимание, что повсюду разбросаны детали некоторого механизма. Проблема в том, что дверь в поместье закрыта и нам надо найти ключи. Ходим ищем ключи от дверей, собирая детали, а когда открываем двери ищем кровать, чтобы поспать. Видим очень странные сны, в которых также собираем предметы, уклоняясь от врагов и шипов. И в конце находим проблему этого поместья.
https://habr.com/ru/articles/766162/
@BookPython
Говорят, что на 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
По мере того как приложение собирает все больше данных, правильное ведение журналов становится решающим фактором для быстрого и эффективного понимания общей функциональности. Это позволяет устранять проблемы до того, как они повлияют на конечных пользователей.
В этой статье мы рассмотрим лучшие практики логирования в 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
⌨️ (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
YouTube
Pygame Tutorial for Beginners - Python Game Development Course
Learn how to use Pygame to code games with Python. In this full tutorial course, you will learn Pygame by building a space invaders game. The course will help you understand the main game development concepts like moving characters, shooting bullets, and…
👍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
В данном видео мы рассмотрим 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.
Давайте начнем.
https://superfastpython.com/asyncio-queue/#What_is_an_Asyncio_Queue
@BookPython
Обмен данными между короутинами можно осуществлять с помощью 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
Super Fast Python
Asyncio Queue in Python - Super Fast Python
A queue is a helpful data structure where items can be added and removed. Queues are generally used on concurrent programs to connect tasks, such as between threads and between processes. Asyncio also provides the asyncio.Queue, specifically tailored to share…
👍4
JetBrains и Python Software Foundation рассказали, как разработчики использовали Python в 2022 году
JetBrain совместно с Python Software Foundation опубликовали результаты большого исследования, помогающего понять, как разработчики использовали Python в 2022 году. Исследование строится на базе опроса разработчиков. В 2022 году в нём приняло участие более 23 тыс. человек из почти 200 регионов.
https://habr.com/ru/news/766124/
@BookPython
JetBrain совместно с Python Software Foundation опубликовали результаты большого исследования, помогающего понять, как разработчики использовали Python в 2022 году. Исследование строится на базе опроса разработчиков. В 2022 году в нём приняло участие более 23 тыс. человек из почти 200 регионов.
https://habr.com/ru/news/766124/
@BookPython
👍4❤1
Python. Импорт данных
1. Импорт Excel№2. Импорт CSV
3. Импорт с веб-сайта (HTML)
4. Импорт таблиц XML
5. Импорт таблиц из PDF
5. Импорт таблиц из PDF (расширенная версия)
6. Импорт таблиц из Word
7. Импорт таблиц из Word
источник
@BookPython
1. Импорт Excel№2. Импорт CSV
3. Импорт с веб-сайта (HTML)
4. Импорт таблиц XML
5. Импорт таблиц из PDF
5. Импорт таблиц из PDF (расширенная версия)
6. Импорт таблиц из Word
7. Импорт таблиц из Word
источник
@BookPython
👍6😁1
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Python. Практический
Скачиваем котировки
Объединить книги Excel
Объединить книги Excel 2
Создать Progress Bar
Объединить листы книги Excel
Объединить книги Excel и листы в них
Объединить множество CSV
Таблицы из множества интернет-страниц
Многостраничное извлечение таблиц с Requests и BS4
Скрапинг/Парсинг сайтов с Selenium и BS4
источник
@BookPython
Скачиваем котировки
Объединить книги Excel
Объединить книги Excel 2
Создать Progress Bar
Объединить листы книги Excel
Объединить книги Excel и листы в них
Объединить множество CSV
Таблицы из множества интернет-страниц
Многостраничное извлечение таблиц с Requests и BS4
Скрапинг/Парсинг сайтов с Selenium и BS4
источник
@BookPython
👍4🔥3