Разъяснивший Python
Відкрити в Telegram
Твой проводник в омут Python'а Ссылка: @Portal_v_IT Сотрудничество: @oleginc
Показати більше6 895
Підписники
-124 години
-207 днів
-7130 днів
Архів дописів
6 893
Бесконечность в Python
Как бы иронично это ни звучало, бесконечность определяется как неопределенное число, которое может быть как положительным, так и отрицательным значением. Все арифметические операции, выполняемые над бесконечным числом, всегда приводят к бесконечному числу, скажем, суммирование, вычитание, умножение или любая другая операция.
Положительная бесконечность: inf
Отрицательная бесконечность: -inf
Поскольку бесконечность может быть как положительной, так и отрицательной, их можно представить как число float('inf') и число float('-inf') соответственно.
Примеры
Сверху я написал незамысловатый код, который выводит отрицательное и положительное числа соответственно(мне кажется объяснять работу кода не надо)
Зачем это нужно?
В питонячем мире бесконечность обычно используется для измерения производительности и оптимизации алгоритмов, выполняющих вычисления в крупномасштабных приложениях.
Разъяснивший Python6 893
os.listdir() + os.path.isfile()
Нужно обработать все файлы в директории? Новички часто пытаются вручную указывать имена, но Python позволяет получить список файлов автоматически!
Модуль os предоставляет метод
listdir(), который возвращает содержимое директории, а фильтрация с помощью os.path.isfile() позволяет выбрать только файлы.
Итог:
Используйте os.listdir() + os.path.isfile(), чтобы получить список всех файлов в директории — удобно для массовой обработки, загрузки или анализа.
Разъяснивший Python6 893
Удаляем все пробелы из строки
При работе с вводом пользователя или текстом из файлов часто встречаются лишние пробелы. Новички могут использовать циклы и условия, но есть способ проще и элегантнее — метод
.replace().
Этот приём позволяет удалить все пробелы из строки буквально в одну строку, заменяя ' ' на ''.
Итог:
Метод replace(" ", "") позволяет быстро и без циклов убрать все пробелы из строки. Удобно для предобработки текста.
Разъяснивший Python6 893
PrettyTable — довольно полезный модуль для создания простых таблиц и вывода их в терминал или текстовый файл.
Модуль PrettyTable был вдохновлен таблицами ASCII, используемыми в оболочке PostgreSQL.
Возможности модуля PrettyTable:
• Установка ширины заполнения столбца, выравнивание текста или границы таблицы.
• Сортировка данных.
• Выбор отображения столбцов и строк в окончательном выводе.
• Чтение данных из CSV, HTML или курсора базы данных.
• Вывод данных в ASCII или HTML.
Пример(см. выше)
Для начала, необходимо создать экземпляр
PrettyTable(), чтобы потом добавлять в него некоторые данные. Далее необходимо установить имена полей, используя атрибут PrettyTable.field_names, а затем с помощью списка добавить их(данные) за один раз, используя метод PrettyTable.add_rows() .
Добавить данные можно и построчно, используя метод PrettyTable.add_row() , но в данном примере мы будем использовать однострочный метод.
Ставится командой: pip install prettytable
Документация и примеры кода здесь
Разъяснивший Python6 893
Получаем размер файла в байтах
Иногда нужно узнать, сколько весит файл — например, перед загрузкой или отправкой по сети. Новички могут не знать, как это сделать быстро и просто.
Python предоставляет удобный способ с помощью функции
os.path.getsize().
Итог:
Используйте os.path.getsize(path), чтобы легко получить размер файла в байтах. Удобно для логирования, проверки ограничений и статистики.
Разъяснивший Python6 893
Проверяем, запущен ли скрипт напрямую или импортирован
Иногда нужно, чтобы часть кода выполнялась только при запуске файла напрямую, но не при импорте его как модуля. Это особенно важно при написании библиотек и модулей.
Python предлагает простой способ — использовать переменную name, которая будет равна "main" только при прямом запуске файла.
Итог:
Если name == "main" — значит файл был запущен напрямую. Это позволяет изолировать код, не мешая при импорте и улучшая модульность.
Разъяснивший Python
6 893
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
Документация и примеры кода здесь.
Разъяснивший Python6 893
👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻
Ловите слитую базу с курсами и книгами от известных онлайн школ по айти:
(363 видео, 87 книги) — Python
(415 видео, 68 книги) — Frontend
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++/C#
(343 видео, 87 книги) — Java/QA
(176 видео, 32 книги) — Git/Linux
(174 видео, 91 книги) — DevOps
(167 видео, 53 книги) — PHP/1С
(227 видео, 83 книги) — SQL/БД
(114 видео, 77 книги) — Сисадмин
(107 видео, 43 книги) — BA/SA
(181 видео, 32 книги) — Go/Rust
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(137 видео, 93 книги) — DS/ML
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — Дизайн
(136 видео, 33 книги) — PM/HR
Скачивать ничего не нужно — все выложили в Telegram
6 893
Современные реализации бустинга
Хотя sklearn вполне неплох для обучения, в проде чаще используют специализированные библиотеки, заточенные под бустинг.
Например, XGBoost. Он очень быстрый, поддерживает регуляризацию, отложенное построение деревьев, а также раннюю остановку.
LightGBM работает еще быстрее, идеально подходит для очень больших данных. CatBoost же супер дружелюбен к категориальным признакам, даже не нужно кодировать вручную. Присутствует поддержка GPU.
Разъяснивший Python
6 893
Получаем список файлов в папке
Нужно обработать все файлы в директории? Новички часто пытаются вручную указывать имена, но Python позволяет получить список файлов автоматически!
Модуль os предоставляет метод
listdir(), который возвращает содержимое директории, а фильтрация с помощью os.path.isfile() позволяет выбрать только файлы.
Итог:
Используйте os.listdir() + os.path.isfile(), чтобы получить список всех файлов в директории — удобно для массовой обработки, загрузки или анализа.
Разъяснивший Python6 893
Симуляция частиц с Pygame
С помощью Pygame можно создать простую, но очень эффектную 2D-игру-симуляцию песка. Игрок будет сыпать песчинки мышкой, а частицы под действием гравитации будут падать вниз.
При желании ты можешь улучшить проект: добавить воду и огонь, реализовать эффекты ветра и многое другое.
ссылка на код
Разъяснивший Python
6 893
math.isclose
math.isclose проверяет, близки ли два числа с плавающей запятой с учётом относительной и абсолютной погрешности. Это полезно при сравнении вещественных чисел, где прямое сравнение через == ненадёжно из-за ошибок округления
Разъяснивший Python6 893
+5
🖥 Linux Academy — топ-канал для продвинутого освоения Linux.
Мы раскрываем скрытые механизмы ядра через наглядные шпаргалки и яркую визуальную графику, детально разбираем малоизвестные команды и скрипты.
Экспресс-гайды, которые экономят часы поиска: t.me/linuxacademiya
6 893
Получение ID текущего процесса
Функция i
d() возвращет уникальный идентификатор переданного ей в качестве аргумента объекта. Этот идентификатор является адресом в памяти, по которому расположен сам объект.
Разъяснивший Python6 893
👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻👩💻
Сливаем вам базу с курсами и книгами от известных онлайн школ по Frontend:
(23 ГБ) — Основы веба
(46 ГБ) — HTML/CSS/Верстка
(53 ГБ) — JavaScript
(31 ГБ) — React
(17 ГБ) — TypeScript
(33 ГБ) — Vue / Angular / Svelte
(56 ГБ) — Webpack / Vite / Git
(43 ГБ) — Next.js / Nuxt.js
(68 ГБ) — Figma и Веб-дизайн
(76 ГБ) — Анимации и UI/UX
(44 ГБ) — WordPress
(37 ГБ) — Архитектура фронтенда
(21 ГБ) — Тестирование фронта
Скачивать ничего не нужно — все выложили в Telegram
6 893
Преобразуем объект в JSON-строку
Часто возникает необходимость сериализовать данные — например, отправить словарь через API или сохранить в файл. Новички могут пытаться делать это вручную, но Python предлагает простой способ через модуль json.
С помощью
json.dumps() можно быстро преобразовать любой объект (например, словарь) в строку формата JSON.
Итог:
Модуль json позволяет удобно преобразовывать Python-объекты в строки JSON. Используйте json.dumps() для сериализации.
Разъяснивший Python6 893
Работаем с переменными окружения в Python
Переменные окружения часто используются для хранения конфиденциальных данных — например, API-ключей, логинов, паролей. Вместо того чтобы хардкодить их в код, безопаснее читать их через
os.environ.
Это удобно, безопасно и позволяет легко переключаться между разными окружениями (например, dev и prod).
Итог:
Используйте os.environ.get() для безопасного доступа к переменным окружения — это защищает ваш код от утечек данных и упрощает настройку.
Разъяснивший Python6 893
Проверяем, существует ли файл
Часто в программах нужно проверить, существует ли файл перед его использованием. Новички могут пробовать открывать файл и ловить исключения, но Python предлагает более элегантный способ через os.path.
Функция
os.path.exists() проверяет наличие файла или директории по заданному пути. Это безопасный и читаемый способ убедиться, что нужный файл действительно есть перед его использованием.
Итог:
С помощью os.path.exists() можно легко и безопасно проверять существование файлов, избегая лишних ошибок при открытии несуществующих путей.
Разъяснивший Python6 893
faulthandler.dump_traceback_later
faulthandler.dump_traceback_later планирует автоматический вывод стека вызовов через заданное количество секунд. Это полезно для отладки зависших программ, бесконечных циклов или неожиданных блокировокда модуль может появиться в процессе выполнения
Разъяснивший Python