Разъяснивший Python
8.17K subscribers
2.44K photos
40 videos
30 files
2.29K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Симуляция частиц с Pygame

С помощью Pygame можно создать простую, но очень эффектную 2D-игру-симуляцию песка. Игрок будет сыпать песчинки мышкой, а частицы под действием гравитации будут падать вниз.

При желании ты можешь улучшить проект: добавить воду и огонь, реализовать эффекты ветра и многое другое.

ссылка на код

Разъяснивший Python
Получаем список файлов в папке

Нужно обработать все файлы в директории? Новички часто пытаются вручную указывать имена, но Python позволяет получить список файлов автоматически!

Модуль os предоставляет метод listdir(), который возвращает содержимое директории, а фильтрация с помощью os.path.isfile() позволяет выбрать только файлы.

Итог:
Используйте os.listdir() + os.path.isfile(), чтобы получить список всех файлов в директории — удобно для массовой обработки, загрузки или анализа.

Разъяснивший Python
Современные реализации бустинга

Хотя sklearn вполне неплох для обучения, в проде чаще используют специализированные библиотеки, заточенные под бустинг.

Например, XGBoost. Он очень быстрый, поддерживает регуляризацию, отложенное построение деревьев, а также раннюю остановку.

LightGBM работает еще быстрее, идеально подходит для очень больших данных. CatBoost же супер дружелюбен к категориальным признакам, даже не нужно кодировать вручную. Присутствует поддержка GPU.

Разъяснивший Python
Forwarded from DevHumor
This media is not supported in your browser
VIEW IN TELEGRAM
У меня уровень A1

Взято из: DevHumor
😁4
qrcode — довольно простой модуль, для генерации qr cod'ов в Python!

Разберёмся с формулировками:

Метод QRCode.add_data() добавит данные к текущему объекту qr. Чтобы добавить новые данные путем замены предыдущего содержимого в том же объекте, сначала используйте метод QRCode.clear().

QR-код — это виртуальная база данных в виде незамысловатого значка и хранит в себе около 4200 символов, в последствии QR-код можно отсканировать и получить информацию заложенную в нём.

Примеры

На примере выше мы добавляем данные с помощью метода qr.add_data , определеляем переменную img и сохраняем наш qr-код.

Очищаем qr-код и добавляем новые данные

У модуля qrcode есть множество методов для кастомизации qr-кодов. Например в телеграмме тоже есть кастомизация qr-кодов(для входа в аккаунт или отправки qr-cod'a своего аккаунта. Так же модуль довольно гибок, поэтому настроить его можно полностью под себя :)

Ставится командой ⚙️ pip install qrcode
Документация и примеры кода здесь.

Разъяснивший Python
Проверяем, запущен ли скрипт напрямую или импортирован

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

Python предлагает простой способ — использовать переменную name, которая будет равна "main" только при прямом запуске файла.

Итог:
Если name == "main" — значит файл был запущен напрямую. Это позволяет изолировать код, не мешая при импорте и улучшая модульность.

Разъяснивший Python
Получаем размер файла в байтах

Иногда нужно узнать, сколько весит файл — например, перед загрузкой или отправкой по сети. Новички могут не знать, как это сделать быстро и просто.

Python предоставляет удобный способ с помощью функции os.path.getsize().

Итог:
Используйте os.path.getsize(path), чтобы легко получить размер файла в байтах. Удобно для логирования, проверки ограничений и статистики.

Разъяснивший Python
PrettyTable — довольно полезный модуль для создания простых таблиц и вывода их в терминал или текстовый файл.

Модуль PrettyTable был вдохновлен таблицами ASCII, используемыми в оболочке PostgreSQL.

Возможности модуля PrettyTable:

• Установка ширины заполнения столбца, выравнивание текста или границы таблицы.
• Сортировка данных.
• Выбор отображения столбцов и строк в окончательном выводе.
• Чтение данных из CSV, HTML или курсора базы данных.
• Вывод данных в ASCII или HTML.

Пример(см. выше)

Для начала, необходимо создать экземпляр PrettyTable(), чтобы потом добавлять в него некоторые данные. Далее необходимо установить имена полей, используя атрибут PrettyTable.field_names, а затем с помощью списка добавить их(данные) за один раз, используя метод PrettyTable.add_rows() .

Добавить данные можно и построчно, используя метод PrettyTable.add_row() , но в данном примере мы будем использовать однострочный метод.

Ставится командой: pip install prettytable
Документация и примеры кода здесь

Разъяснивший Python
Удаляем все пробелы из строки

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

Этот приём позволяет удалить все пробелы из строки буквально в одну строку, заменяя ' ' на ''.

Итог:
Метод replace(" ", "") позволяет быстро и без циклов убрать все пробелы из строки. Удобно для предобработки текста.

Разъяснивший Python
os.listdir() + os.path.isfile()

Нужно обработать все файлы в директории? Новички часто пытаются вручную указывать имена, но Python позволяет получить список файлов автоматически!

Модуль os предоставляет метод listdir(), который возвращает содержимое директории, а фильтрация с помощью os.path.isfile() позволяет выбрать только файлы.

Итог:
Используйте os.listdir() + os.path.isfile(), чтобы получить список всех файлов в директории — удобно для массовой обработки, загрузки или анализа.

Разъяснивший Python
Бесконечность в Python

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

Положительная бесконечность: inf
Отрицательная бесконечность: -inf

Поскольку бесконечность может быть как положительной, так и отрицательной, их можно представить как число float('inf') и число float('-inf') соответственно.

Примеры

Сверху я написал незамысловатый код, который выводит отрицательное и положительное числа соответственно(мне кажется объяснять работу кода не надо)

Зачем это нужно?

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

Разъяснивший Python
1👍1
Быстро создаём SQLite-базу данных

Когда нужно протестировать идею или сделать лёгкое приложение, новички часто тратят время на настройку полноценной СУБД. Но в Python есть встроенная SQLite — это база данных, которая хранится в одном файле и не требует установки.

С помощью модуля sqlite3 можно создать базу, таблицу и вставить данные всего в несколько строк.

Итог:
SQLite позволяет быстро работать с базой данных без дополнительной установки. Подключение, создание таблиц и выполнение запросов — всё делается через стандартный модуль sqlite3.

Разъяснивший Python
2
lambda-функция — это компактный способ определить функцию без использования стандартного объявления def.

Она позволяет создавать простые функции "на лету" без необходимости использования отдельного имени функции.

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

Особенности lambda-функций:
• Они являются однострочными функциями.
• Они могут принимать любое количество аргументов, но могут содержать только одно выражение.
• Они сразу возвращают результат вычисления выражения.

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

Разъяснивший Python
Система поиска похожих изображений

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

Логика кода проста. Сначала мы превращаем все изображения базы в векторы. Затем извлекаются признаки из запроса. Вычисляем сходство между запросом и базой и в результате выводим топ-N наиболее похожих изображений.

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

Ссылка на код

Разъяснивший Python
Получаем названия столбцов из результата запроса

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

С sqlite3 можно легко получить названия столбцов прямо из курсора после выполнения запроса, без дополнительного кода.

Итог:
Чтобы получить список названий столбцов из SQL-запроса, можно использовать cursor.description — это простой способ понять структуру данных, особенно при работе с динамическими запросами.

Разъяснивший Python
Как автоматизировать инфраструктуру с помощью Terraform и Ansible

Terraform и Ansible — два популярных инструмента, которые помогают автоматизировать инфраструктуру и управлять ей. Рассказываем, в чем их особенности и как их можно интегрировать в разработку.

Читать

Разъяснивший Python
Решаем криптарифмы с помощью алгебры и python

Числовые ребусы хороши для тренировки у младшеклассников навыков логического мышления и счета в столбик. Однако и взрослым программистам может быть интересно поискать ответ на общий вопрос - а как, всё таки, алгоритмизировать процесс решения ребуса?

Читать

Разъяснивший Python
👍1
Автоматически подставляем параметры в SQL-запрос

Новички иногда вставляют значения в SQL-запросы через f-строки или конкатенацию, что небезопасно и может привести к SQL-инъекциям. Python предлагает встроенный и безопасный способ подстановки данных в запрос с помощью параметризованных запросов.

Это не только безопаснее, но и удобнее для работы с переменными.

Итог:
Используйте ? и кортежи для подстановки значений в SQL-запросы — это защищает от SQL-инъекций и делает код чище и безопаснее.

Разъяснивший Python
functools — встроенный в Python модуль, который предоставляет набор полезных функций, связанных с функциональным программированием.

Модуль functools предоставляет инструменты для работы с функциями высшего порядка, функциями обратного вызова (callback) и другими полезными возможностями.

Давайте разберём функцию reduce модуля functools.
Функция reduce применяет указанную функцию(в примере выше мы использовали lambda-функцию) к элементам итерируемого объекта слева направо, сворачивая их в одно значение. Это полезно, когда вам нужно применить операцию накопления к последовательности значений.

Использование функций из модуля functools позволяет повысить эффективность и удобство разработки, особенно при работе с функциональным программированием, декораторами и другими продвинутыми возможностями Python.

Разъяснивший Python
Получаем количество строк, затронутых SQL-запросом

После выполнения SQL-запроса может потребоваться узнать, сколько строк было затронуто — например, при UPDATE или DELETE. Многие новички не знают, что Python позволяет легко получить это значение.

Используйте атрибут cursor.rowcount, чтобы сразу узнать, сколько строк было изменено или удалено.

Итог:
cursor.rowcount позволяет получить количество строк, затронутых последним SQL-запросом — удобно для логирования, проверки и отладки.

Разъяснивший Python
👍1