Подборка односложных выражений на языке Python, которые повысят вашу производительность
Deleting multiple elements from a list
Factorial of a number
https://github.com/Allwin12/python-one-liners
👉@BookPython
Deleting multiple elements from a list
li = [1, 2, 3, 4, 5]
del li[0:3]
# [4, 5]
Factorial of a number
import math; fact_5 = math.factorial(5)
https://github.com/Allwin12/python-one-liners
👉@BookPython
Как создать Minecraft на Python? Обзор библиотеки Ursina Engine
Среди любителей Minecraft много энтузиастов: пока одни просто играют, другие запускают целые серверы и пишут модификации. А кто-то идет дальше и разрабатывает собственные песочницы. Последнее достаточно просто сделать на Python.
Под катом делюсь основами работы с библиотекой Ursina Engine и показываю, как с помощью нее создать мир из кубов.
https://habr.com/ru/companies/selectel/articles/704040/
@BookPython
Среди любителей Minecraft много энтузиастов: пока одни просто играют, другие запускают целые серверы и пишут модификации. А кто-то идет дальше и разрабатывает собственные песочницы. Последнее достаточно просто сделать на Python.
Под катом делюсь основами работы с библиотекой Ursina Engine и показываю, как с помощью нее создать мир из кубов.
https://habr.com/ru/companies/selectel/articles/704040/
@BookPython
Ускорение кода на Python с помощью Numba Vectorize
В мире численных вычислений оптимизация производительности имеет первостепенное значение. Python с его интерпретируемой природой не всегда может предложить желаемую скорость для интенсивных вычислений. Однако на помощь приходит Numba, мощная библиотека, с ее возможностями вычислений, ориентированных на массивы, и компиляцией «точно в срок» (JIT). В этой статье мы рассмотрим одну из самых ценных функций Numba: Numba Vectorize.
https://coderslegacy.com/python-code-with-numba-vectorize/
@BookPython
В мире численных вычислений оптимизация производительности имеет первостепенное значение. Python с его интерпретируемой природой не всегда может предложить желаемую скорость для интенсивных вычислений. Однако на помощь приходит Numba, мощная библиотека, с ее возможностями вычислений, ориентированных на массивы, и компиляцией «точно в срок» (JIT). В этой статье мы рассмотрим одну из самых ценных функций Numba: Numba Vectorize.
https://coderslegacy.com/python-code-with-numba-vectorize/
@BookPython
CodersLegacy
Accelerating Python Code with Numba Vectorize - CodersLegacy
We will delve into the inner workings of Numba Vectorize, understand how it harnesses the power of SIMD operations to improve performance.
Создание игрушечного языка программирования на Python
Я подумал, что было бы забавно выйти за пределы своей зоны комфорта в области веб-разработки и написать о чем-то совершенно другом и новом, о чем я никогда раньше не писал. Поэтому сегодня я покажу вам, как реализовать язык программирования!
https://blog.miguelgrinberg.com/post/building-a-toy-programming-language-in-python
@BookPython
Я подумал, что было бы забавно выйти за пределы своей зоны комфорта в области веб-разработки и написать о чем-то совершенно другом и новом, о чем я никогда раньше не писал. Поэтому сегодня я покажу вам, как реализовать язык программирования!
https://blog.miguelgrinberg.com/post/building-a-toy-programming-language-in-python
@BookPython
Miguelgrinberg
Building a Toy Programming Language in Python
I thought it would be fun to go outside of my comfort zone of web development topics and write about something completely different and new, something I have never written about before. So today, I'm…
Разбиваем видео на n кол-во изображений
Для разбиения видео на n изображений вам понадобится использовать библиотеку OpenCV в Python.
В этом примере функция
Обратите внимание, что код использует целочисленное деление
@BookPython
Для разбиения видео на n изображений вам понадобится использовать библиотеку OpenCV в Python.
В этом примере функция
video_to_images
принимает путь к видео (`video_path
`) и количество желаемых изображений (`frames_count
`). Она открывает видеофайл, читает каждый кадр и сохраняет каждый "шаг" кадров как отдельное изображение. Затем функция прекращает обработку, когда необходимое количество изображений сохранено.Обратите внимание, что код использует целочисленное деление
//
и целочисленное преобразование int()
для обеспечения, чтобы каждое изображение было сохранено через примерно одинаковое количество кадров, чтобы равномерно распределить их по времени видео.@BookPython
Пять декораторов Python, которые могут сократить код в два раза
В этой статье мы рассмотрим концепцию Python-оберток и приведем пять примеров, которые могут улучшить процесс разработки на Python.
https://habr.com/ru/companies/slurm/articles/748176/
original https://python.plainenglish.io/five-python-wrappers-that-can-reduce-your-code-by-half-af775feb1d5
👉 @BookPython
В этой статье мы рассмотрим концепцию Python-оберток и приведем пять примеров, которые могут улучшить процесс разработки на Python.
https://habr.com/ru/companies/slurm/articles/748176/
original https://python.plainenglish.io/five-python-wrappers-that-can-reduce-your-code-by-half-af775feb1d5
👉 @BookPython
Нижнее подчеркивание
1.
2. интерактивный режим использует
3. руководство модуля
👉 @BookPython
1.
_
используется, когда вам нужно придумать имена для значений, которые вам не нужны – например, в циклах for
.2. интерактивный режим использует
_
для хранения результата последнего выполненного выражения.3. руководство модуля
gettext
рекомендует псевдоним его функции gettext()
для _()
, чтобы минимизировать загромождение вашего кода.👉 @BookPython
Python декораторы на максималках. Универсальный рецепт по написанию и аннотированию от мала до велика
Декорирование функций - это, наверное, самая сложная среди базовых и самая простая среди продвинутых фич языка Python. С декораторами, наверное, знакомы все джуны (хотя бы в рамках подготовки к собеседованиям). Однако, крайне мало разработчиков пишут их правильно. Особенно принимая во внимания тенденции последних нескольких лет к аннотированию всего и вся. Даже популярные open-source проекты (если основная часть их кода была написана до 2018 года) вряд ли дадут вам примеры декораторов, отвечающих всем современным требованиям к коду.
https://habr.com/ru/articles/750312/
@BookPython
Декорирование функций - это, наверное, самая сложная среди базовых и самая простая среди продвинутых фич языка Python. С декораторами, наверное, знакомы все джуны (хотя бы в рамках подготовки к собеседованиям). Однако, крайне мало разработчиков пишут их правильно. Особенно принимая во внимания тенденции последних нескольких лет к аннотированию всего и вся. Даже популярные open-source проекты (если основная часть их кода была написана до 2018 года) вряд ли дадут вам примеры декораторов, отвечающих всем современным требованиям к коду.
https://habr.com/ru/articles/750312/
@BookPython
Как в Python осуществляется управление памятью.
В Python объекты и структуры данных находятся в закрытой динамически выделяемой области private heap, которая управляется менеджером памяти Python. Он делегирует часть работы программам распределения ресурсов allocators, закрепленным за конкретными объектами, и одновременно с этим следит, чтобы они не выходили за пределы динамически выделяемой области.
По факту данной областью управляет интерпретатор. Пользователь никак не контролирует данный процесс, даже когда манипулирует ссылками объектов на блоки памяти внутри динаической области. Менеджер памяти Python распределяет пространство динамической области среди объектов и другие внутренние буферы по требованию.
👉 @BookPython
В Python объекты и структуры данных находятся в закрытой динамически выделяемой области private heap, которая управляется менеджером памяти Python. Он делегирует часть работы программам распределения ресурсов allocators, закрепленным за конкретными объектами, и одновременно с этим следит, чтобы они не выходили за пределы динамически выделяемой области.
По факту данной областью управляет интерпретатор. Пользователь никак не контролирует данный процесс, даже когда манипулирует ссылками объектов на блоки памяти внутри динаической области. Менеджер памяти Python распределяет пространство динамической области среди объектов и другие внутренние буферы по требованию.
👉 @BookPython
9 способов обмена массивом Numpy между процессами
В Python можно передавать массивы numpy между процессами.
Существует множество способов передать массив numpy между процессами, например, как аргумент функции, как наследуемую глобальную переменную, через очередь или трубу, как ctype Array и RawArray, файл с отображением памяти, массив с поддержкой SharedMemory или через менеджер.
https://superfastpython.com/numpy-share-array-processes/
👉 @BookPython
В Python можно передавать массивы numpy между процессами.
Существует множество способов передать массив numpy между процессами, например, как аргумент функции, как наследуемую глобальную переменную, через очередь или трубу, как ctype Array и RawArray, файл с отображением памяти, массив с поддержкой SharedMemory или через менеджер.
https://superfastpython.com/numpy-share-array-processes/
👉 @BookPython
Super Fast Python
9 Ways to Share a Numpy Array Between Processes - Super Fast Python
You can share numpy arrays between processes in Python. There are many ways to share a numpy array between processes, such as as a function argument, as an inherited global variable, via a queue or a pipe, as a ctype Array and RawArray, memory-mapped file…
Программирование на Python.pdf
1.6 MB
Программирование на Python
Полищук В.Ю.
Инженерная школа информационных технологий и робототехники, Томский политехнический университет
👉 @BookPython
Полищук В.Ю.
Инженерная школа информационных технологий и робототехники, Томский политехнический университет
👉 @BookPython
setattr()
С помощью данной функции мы можем менять атрибуты объекта во время выполнения программы. Первым аргументом она принимает объект, вторым — имя атрибута, а третьим — значение, которое необходимо установить.
👉 @BookPython
С помощью данной функции мы можем менять атрибуты объекта во время выполнения программы. Первым аргументом она принимает объект, вторым — имя атрибута, а третьим — значение, которое необходимо установить.
👉 @BookPython
Голосовой ввод с микрофона в Python
Установка пакета —
Важная вещь, которую вы должны иметь в виду, что здесь мы будем работать с микрофоном, поэтому вам необходимо знать идентификатор устройства вашего устройства ввода звука.
👉 @BookPython
Установка пакета —
pip install SpeechRecognition
.Важная вещь, которую вы должны иметь в виду, что здесь мы будем работать с микрофоном, поэтому вам необходимо знать идентификатор устройства вашего устройства ввода звука.
👉 @BookPython
Совет по чистому коду в Python
Избегайте использования слишком большого количества атрибутов для одного объекта. Старайтесь объединять их в группы, чтобы повысить связность, уменьшить количество связей и улучшить читаемость.
👉 @BookPython
Избегайте использования слишком большого количества атрибутов для одного объекта. Старайтесь объединять их в группы, чтобы повысить связность, уменьшить количество связей и улучшить читаемость.
👉 @BookPython
Кэшированные атрибуты
Во встроенном пакете
Таким образом, при первом обращении к атрибуту производятся вычисления в методе, а при дальнейших берется уже кэшированное значение.
Подобное кэширование полезно в случаях, когда в методе производятся вычисления, которые нагружают систему и занимают много времени.
👉 @BookPython
Во встроенном пакете
functools
присутствует декоратор @cached_property
, позволяющий кэшировать результат метода и загнать его в атрибут.Таким образом, при первом обращении к атрибуту производятся вычисления в методе, а при дальнейших берется уже кэшированное значение.
Подобное кэширование полезно в случаях, когда в методе производятся вычисления, которые нагружают систему и занимают много времени.
👉 @BookPython
Forwarded from Книги по Python | Books Python 📚
Applying Math with Python
Автор: Sam Morley (2020)
Во время чтения книги вы:
✔️Познакомитесь с базовыми пакетами, инструментами и библиотеками Python для решения математических задач;
✔️Изучите различные методы, которые помогут вам решать вычислительные задачи;
✔️Поймете основные концепции прикладной математики и способы их применения в информатике;
✔️Узнаете, как выбрать наиболее подходящий пакет, инструмент или технику для решения определенной проблемы;
✔️Научитесь реализовывать базовое построение графиков, изменять стили и добавлять метки с помощью matplotlib.
Скачать
👉 @python_360
Автор: Sam Morley (2020)
Во время чтения книги вы:
✔️Познакомитесь с базовыми пакетами, инструментами и библиотеками Python для решения математических задач;
✔️Изучите различные методы, которые помогут вам решать вычислительные задачи;
✔️Поймете основные концепции прикладной математики и способы их применения в информатике;
✔️Узнаете, как выбрать наиболее подходящий пакет, инструмент или технику для решения определенной проблемы;
✔️Научитесь реализовывать базовое построение графиков, изменять стили и добавлять метки с помощью matplotlib.
Скачать
👉 @python_360
Шифрование и расшифровка паролей
Приведенный ниже скрипт выполняет шифрование и дешифрование текста с использованием пакета cryptography.
В приведенной выше реализации ключ шифрования генерируется с помощью метода
Шифрование и дешифрование текста выполняются с использованием класса Fernet из пакета cryptography, где текст шифруется с помощью метода
👉 @BookPython
Приведенный ниже скрипт выполняет шифрование и дешифрование текста с использованием пакета cryptography.
В приведенной выше реализации ключ шифрования генерируется с помощью метода
Fernet.generate_key()
и сохраняется в файле для дальнейшего использования.Шифрование и дешифрование текста выполняются с использованием класса Fernet из пакета cryptography, где текст шифруется с помощью метода
encrypt()
и расшифровывается с помощью метода decrypt()
.👉 @BookPython
Что будет в результате выполнения данного кода?
Данный код выдаст в виде результата пустой список
Как известно, попытка доступа к элементу списка с использованием индекса, превышающего число элементов (например, операция
Особенно неприятным это обстоятельство делает то, что оно может привести к ошибкам, которые действительно трудно отследить, поскольку во время выполнения кода не возникает никаких ошибок.
👉 @BookPython
Данный код выдаст в виде результата пустой список
[]
, а ошибка IndexError не возникнет.Как известно, попытка доступа к элементу списка с использованием индекса, превышающего число элементов (например, операция
list[10]
в списке выше), приводит к ошибке IndexError. Однако, попытка получить доступ к срезу списка с начальным индексом, превышающем количество элементов в списке, не приведет к IndexError и просто вернет пустой список.Особенно неприятным это обстоятельство делает то, что оно может привести к ошибкам, которые действительно трудно отследить, поскольку во время выполнения кода не возникает никаких ошибок.
👉 @BookPython
Ray Casting 3D игра на Python + PyGame
Все мы помним старые игры, в которых впервые появилось трехмерное измерение.
Основоположником 3д игр стала игра Wolfenstein 3D, выпущенная в 1992 году а за ней и Doom 1993 года.
Эти две игры разработала одна компания: «id Software»
Она создала свой движок специально для этой игры, и в итоге получилась 3д игра, что считалось практически невозможным на те времена.
Но что будет если я скажу что это не 3д игра, а всего лишь симуляция и игра выглядит на самом деле примерно вот так?
https://habr.com/ru/articles/749764/
👉 @BookPython
Все мы помним старые игры, в которых впервые появилось трехмерное измерение.
Основоположником 3д игр стала игра Wolfenstein 3D, выпущенная в 1992 году а за ней и Doom 1993 года.
Эти две игры разработала одна компания: «id Software»
Она создала свой движок специально для этой игры, и в итоге получилась 3д игра, что считалось практически невозможным на те времена.
Но что будет если я скажу что это не 3д игра, а всего лишь симуляция и игра выглядит на самом деле примерно вот так?
https://habr.com/ru/articles/749764/
👉 @BookPython