pyspellchecker — инструмент для чистой проверки орфографии.
Он(pyspellchecker) использует алгоритм расстояния Левенштейна для поиска перестановок в пределах расстояния редактирования 2 от исходного слова. Затем он сравнивает все перестановки (вставки, удаления, замены и транспозиции) с известными словами в списке частоты слов. Те слова, которые чаще всего встречаются в частотном списке, с большей вероятностью являются правильными результатами.
Сверху - простой пример использования pyspellchecker'a.
pyspellchecker поддерживает несколько языков, включая английский, испанский, немецкий, французский, русский и португальский.
Ставится командой ⚙
Документация и примеры кода здесь
#theory // Just Python
Он(pyspellchecker) использует алгоритм расстояния Левенштейна для поиска перестановок в пределах расстояния редактирования 2 от исходного слова. Затем он сравнивает все перестановки (вставки, удаления, замены и транспозиции) с известными словами в списке частоты слов. Те слова, которые чаще всего встречаются в частотном списке, с большей вероятностью являются правильными результатами.
Сверху - простой пример использования pyspellchecker'a.
pyspellchecker поддерживает несколько языков, включая английский, испанский, немецкий, французский, русский и португальский.
Ставится командой ⚙
pip install pyspellchecker
Документация и примеры кода здесь
#theory // Just Python
Преобразуем объект в JSON-строку
Часто возникает необходимость сериализовать данные — например, отправить словарь через API или сохранить в файл. Новички могут пытаться делать это вручную, но Python предлагает простой способ через модуль json.
С помощью
Итог:
Модуль
#theory // Just Python
Часто возникает необходимость сериализовать данные — например, отправить словарь через API или сохранить в файл. Новички могут пытаться делать это вручную, но Python предлагает простой способ через модуль json.
С помощью
json.dumps()
можно быстро преобразовать любой объект (например, словарь) в строку формата JSON.Итог:
Модуль
json
позволяет удобно преобразовывать Python-объекты в строки JSON. Используйте json.dumps()
для сериализации.#theory // Just Python
math.isclose
#theory // Just Python
math.isclose
проверяет, близки ли два числа с плавающей запятой с учётом относительной и абсолютной погрешности. Это полезно при сравнении вещественных чисел, где прямое сравнение через ==
ненадёжно из-за ошибок округления#theory // Just Python
Симуляция частиц с Pygame
С помощью Pygame можно создать простую, но очень эффектную 2D-игру-симуляцию песка. Игрок будет сыпать песчинки мышкой, а частицы под действием гравитации будут падать вниз.
При желании ты можешь улучшить проект: добавить воду и огонь, реализовать эффекты ветра и многое другое.
ссылка на код
#theory // Just Python
С помощью Pygame можно создать простую, но очень эффектную 2D-игру-симуляцию песка. Игрок будет сыпать песчинки мышкой, а частицы под действием гравитации будут падать вниз.
При желании ты можешь улучшить проект: добавить воду и огонь, реализовать эффекты ветра и многое другое.
ссылка на код
#theory // Just Python
os.listdir() + os.path.isfile()
Нужно обработать все файлы в директории? Новички часто пытаются вручную указывать имена, но Python позволяет получить список файлов автоматически!
Модуль os предоставляет метод
Итог:
Используйте
#theory // Just Python
Нужно обработать все файлы в директории? Новички часто пытаются вручную указывать имена, но Python позволяет получить список файлов автоматически!
Модуль os предоставляет метод
listdir(),
который возвращает содержимое директории, а фильтрация с помощью os.path.isfile()
позволяет выбрать только файлы.Итог:
Используйте
os.listdir() + os.path.isfile(),
чтобы получить список всех файлов в директории — удобно для массовой обработки, загрузки или анализа.#theory // Just Python
Современные реализации бустинга
Хотя sklearn вполне неплох для обучения, в проде чаще используют специализированные библиотеки, заточенные под бустинг.
Например, XGBoost. Он очень быстрый, поддерживает регуляризацию, отложенное построение деревьев, а также раннюю остановку.
LightGBM работает еще быстрее, идеально подходит для очень больших данных. CatBoost же супер дружелюбен к категориальным признакам, даже не нужно кодировать вручную. Присутствует поддержка GPU.
#theory // Just Python
Хотя sklearn вполне неплох для обучения, в проде чаще используют специализированные библиотеки, заточенные под бустинг.
Например, XGBoost. Он очень быстрый, поддерживает регуляризацию, отложенное построение деревьев, а также раннюю остановку.
LightGBM работает еще быстрее, идеально подходит для очень больших данных. CatBoost же супер дружелюбен к категориальным признакам, даже не нужно кодировать вручную. Присутствует поддержка GPU.
#theory // Just Python
Получаем размер файла в байтах
Иногда нужно узнать, сколько весит файл — например, перед загрузкой или отправкой по сети. Новички могут не знать, как это сделать быстро и просто.
Python предоставляет удобный способ с помощью функции
Итог:
Используйте
#theory // Just Python
Иногда нужно узнать, сколько весит файл — например, перед загрузкой или отправкой по сети. Новички могут не знать, как это сделать быстро и просто.
Python предоставляет удобный способ с помощью функции
os.path.getsize().
Итог:
Используйте
os.path.getsize(path)
, чтобы легко получить размер файла в байтах. Удобно для логирования, проверки ограничений и статистики.#theory // Just Python
Бесконечность в Python
Как бы иронично это ни звучало, бесконечность определяется как неопределенное число, которое может быть как положительным, так и отрицательным значением. Все арифметические операции, выполняемые над бесконечным числом, всегда приводят к бесконечному числу, скажем, суммирование, вычитание, умножение или любая другая операция.
Поскольку бесконечность может быть как положительной, так и отрицательной, их можно представить как число
Примеры
Сверху я написал незамысловатый код, который выводит отрицательное и положительное числа соответственно(мне кажется объяснять работу кода не надо)
Зачем это нужно?
В питонячем мире бесконечность обычно используется для измерения производительности и оптимизации алгоритмов, выполняющих вычисления в крупномасштабных приложениях.
На самом деле float - интересная штука, с помощью которой можно хорошо провести время ;)
#theory // Just Python
Как бы иронично это ни звучало, бесконечность определяется как неопределенное число, которое может быть как положительным, так и отрицательным значением. Все арифметические операции, выполняемые над бесконечным числом, всегда приводят к бесконечному числу, скажем, суммирование, вычитание, умножение или любая другая операция.
Положительная бесконечность: inf
Отрицательная бесконечность: -inf
Поскольку бесконечность может быть как положительной, так и отрицательной, их можно представить как число
float('inf')
и число float('-inf')
соответственно.Примеры
Сверху я написал незамысловатый код, который выводит отрицательное и положительное числа соответственно(мне кажется объяснять работу кода не надо)
Зачем это нужно?
В питонячем мире бесконечность обычно используется для измерения производительности и оптимизации алгоритмов, выполняющих вычисления в крупномасштабных приложениях.
На самом деле float - интересная штука, с помощью которой можно хорошо провести время ;)
#theory // Just Python
ReadWriteMemory — это топовая библиотека, позволяющая легко читать/записывать в память любого процесса.
С её помощью можно, например, сделать читы для игры.
А если подрубить такие библиотеки, как imGui, то можно вывести и оверлей чита.
Либо сделать простой трейнер.
Ставится командой
Документация и примеры кода здесь.
#theory // Just Python
С её помощью можно, например, сделать читы для игры.
А если подрубить такие библиотеки, как imGui, то можно вывести и оверлей чита.
Либо сделать простой трейнер.
Ставится командой
pip install ReadWriteMemory
Документация и примеры кода здесь.
#theory // Just Python
all и any — полезные встроенные функции в Python!
Запомнить значение обоих функций по примеру выше очень просто.
Функция all возвращает True в случае когда все (all) элементы являются истинными(True), если один элемент - False, функция вернёт False.
Функция any возвращает True в том случае, когда любой (any) элемент является истинным, если все элементы являются False - функция возвращает False.
Вот и всё, всё настолько просто.
#theory // Just Python
Запомнить значение обоих функций по примеру выше очень просто.
Функция all возвращает True в случае когда все (all) элементы являются истинными(True), если один элемент - False, функция вернёт False.
Функция any возвращает True в том случае, когда любой (any) элемент является истинным, если все элементы являются False - функция возвращает False.
Вот и всё, всё настолько просто.
#theory // Just Python
lambda-функция — это компактный способ определить функцию без использования стандартного объявления def.
Она позволяет создавать простые функции "на лету" без необходимости использования отдельного имени функции.
В примере выше мы используем lambda-функцию для того, чтобы отфильтровать список чисел для получения только чётных чисел.
Особенности lambda-функций:
• Они являются однострочными функциями.
• Они могут принимать любое количество аргументов, но могут содержать только одно выражение.
• Они сразу возвращают результат вычисления выражения.
Lambda-функции особенно полезны, когда требуется определить простые функции, которые не требуют многострочных инструкций или сложной логики. Они позволяют создавать функции более компактным и лаконичным способом.
#theory // Just Python
Она позволяет создавать простые функции "на лету" без необходимости использования отдельного имени функции.
В примере выше мы используем lambda-функцию для того, чтобы отфильтровать список чисел для получения только чётных чисел.
Особенности lambda-функций:
• Они являются однострочными функциями.
• Они могут принимать любое количество аргументов, но могут содержать только одно выражение.
• Они сразу возвращают результат вычисления выражения.
Lambda-функции особенно полезны, когда требуется определить простые функции, которые не требуют многострочных инструкций или сложной логики. Они позволяют создавать функции более компактным и лаконичным способом.
#theory // Just Python
Удаляем все пробелы из строки
При работе с вводом пользователя или текстом из файлов часто встречаются лишние пробелы. Новички могут использовать циклы и условия, но есть способ проще и элегантнее — метод
Этот приём позволяет удалить все пробелы из строки буквально в одну строку, заменяя ' ' на ''.
Итог:
Метод
#theory // Just Python
При работе с вводом пользователя или текстом из файлов часто встречаются лишние пробелы. Новички могут использовать циклы и условия, но есть способ проще и элегантнее — метод
.replace()
.Этот приём позволяет удалить все пробелы из строки буквально в одну строку, заменяя ' ' на ''.
Итог:
Метод
replace(" ", "")
позволяет быстро и без циклов убрать все пробелы из строки. Удобно для предобработки текста.#theory // Just Python
Быстро создаём SQLite-базу данных
Когда нужно протестировать идею или сделать лёгкое приложение, новички часто тратят время на настройку полноценной СУБД. Но в Python есть встроенная SQLite — это база данных, которая хранится в одном файле и не требует установки.
С помощью модуля sqlite3 можно создать базу, таблицу и вставить данные всего в несколько строк.
Итог:
SQLite позволяет быстро работать с базой данных без дополнительной установки. Подключение, создание таблиц и выполнение запросов — всё делается через стандартный модуль sqlite3.
#theory // Just Python
Когда нужно протестировать идею или сделать лёгкое приложение, новички часто тратят время на настройку полноценной СУБД. Но в Python есть встроенная SQLite — это база данных, которая хранится в одном файле и не требует установки.
С помощью модуля sqlite3 можно создать базу, таблицу и вставить данные всего в несколько строк.
Итог:
SQLite позволяет быстро работать с базой данных без дополнительной установки. Подключение, создание таблиц и выполнение запросов — всё делается через стандартный модуль sqlite3.
#theory // Just Python
Contextlib для обработки внешних источников
Библиотека
Ссылочка на доку
#theory // Just Python
Библиотека
contextlib
в Python предоставляет утилиты для работы с контекстными менеджерами и упрощения создания и использования ресурсов с помощью оператора with
.Ссылочка на доку
#theory // Just Python
Система поиска похожих изображений
Сделаем простую систему поиска похожих изображений. Сделаем ее без использования ИИ: для определения схожести мы будем переводить изображения в числовые векторы признаков, а векторы сравнивать с помощью расстояния.
Логика кода проста. Сначала мы превращаем все изображения базы в векторы. Затем извлекаются признаки из запроса. Вычисляем сходство между запросом и базой и в результате выводим топ-N наиболее похожих изображений.
При желании можно улучшить код. Например, вместо простых цветов взять признаки через нейросеть, или выделить отдельные признаки для поиска по цвету, текстуре, объемам.
Ссылка на код
#theory // Just Python
Сделаем простую систему поиска похожих изображений. Сделаем ее без использования ИИ: для определения схожести мы будем переводить изображения в числовые векторы признаков, а векторы сравнивать с помощью расстояния.
Логика кода проста. Сначала мы превращаем все изображения базы в векторы. Затем извлекаются признаки из запроса. Вычисляем сходство между запросом и базой и в результате выводим топ-N наиболее похожих изображений.
При желании можно улучшить код. Например, вместо простых цветов взять признаки через нейросеть, или выделить отдельные признаки для поиска по цвету, текстуре, объемам.
Ссылка на код
#theory // Just Python
Получаем названия столбцов из результата запроса
При работе с базой данных важно знать названия полей в результатах запроса. Новички часто пытаются вручную догадываться о структуре результата, особенно если данных много или они получены из внешнего источника.
С sqlite3 можно легко получить названия столбцов прямо из курсора после выполнения запроса, без дополнительного кода.
Итог:
Чтобы получить список названий столбцов из SQL-запроса, можно использовать cursor.description — это простой способ понять структуру данных, особенно при работе с динамическими запросами.
#theory // Just Python
При работе с базой данных важно знать названия полей в результатах запроса. Новички часто пытаются вручную догадываться о структуре результата, особенно если данных много или они получены из внешнего источника.
С sqlite3 можно легко получить названия столбцов прямо из курсора после выполнения запроса, без дополнительного кода.
Итог:
Чтобы получить список названий столбцов из SQL-запроса, можно использовать cursor.description — это простой способ понять структуру данных, особенно при работе с динамическими запросами.
#theory // Just Python
Проверьте, удовлетворяет ли каждый элемент списка какому-либо условию
Мы можем легко и быстро проверить, соответствует ли каждый элемент списка определенному условию. Это полезно для проверки свойств или характеристик всех элементов списка перед выполнением определенных операций с ними.
#theory // Just Python
Мы можем легко и быстро проверить, соответствует ли каждый элемент списка определенному условию. Это полезно для проверки свойств или характеристик всех элементов списка перед выполнением определенных операций с ними.
#theory // Just Python
functools — встроенный в Python модуль, который предоставляет набор полезных функций, связанных с функциональным программированием.
Модуль functools предоставляет инструменты для работы с функциями высшего порядка, функциями обратного вызова (callback) и другими полезными возможностями.
Давайте разберём функцию reduce модуля functools.
Функция reduce применяет указанную функцию(в примере выше мы использовали lambda-функцию) к элементам итерируемого объекта слева направо, сворачивая их в одно значение. Это полезно, когда вам нужно применить операцию накопления к последовательности значений.
Использование функций из модуля functools позволяет повысить эффективность и удобство разработки, особенно при работе с функциональным программированием, декораторами и другими продвинутыми возможностями Python.
#theory // Just Python
Модуль functools предоставляет инструменты для работы с функциями высшего порядка, функциями обратного вызова (callback) и другими полезными возможностями.
Давайте разберём функцию reduce модуля functools.
Функция reduce применяет указанную функцию(в примере выше мы использовали lambda-функцию) к элементам итерируемого объекта слева направо, сворачивая их в одно значение. Это полезно, когда вам нужно применить операцию накопления к последовательности значений.
Использование функций из модуля functools позволяет повысить эффективность и удобство разработки, особенно при работе с функциональным программированием, декораторами и другими продвинутыми возможностями Python.
#theory // Just Python
partial — функция из модуля functools, которая используется для создания новой функции с некоторыми аргументами, которые уже заданы заранее.
На примере(см. выше) функция partial используется для создания новой функции с фиксированными значениями аргументов. Она принимает функцию и задает некоторые аргументы заранее, которые станут постоянными для создаваемой функции.
Это полезно, когда вы хотите создать функцию с некоторыми предустановленными аргументами.
#theory // Just Python
На примере(см. выше) функция partial используется для создания новой функции с фиксированными значениями аргументов. Она принимает функцию и задает некоторые аргументы заранее, которые станут постоянными для создаваемой функции.
Это полезно, когда вы хотите создать функцию с некоторыми предустановленными аргументами.
#theory // Just Python