Разъяснивший Python
8.16K 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
zip

zip объединяет несколько итерируемых объектов в кортежи по элементам. Это полезно для параллельной обработки нескольких списков.

Разъяснивший Python
Как быстро проверить, является ли строка числом?

При обработке пользовательского ввода важно понимать, содержит ли строка число. Новички могут пытаться использовать try-except или проверять вручную, но есть более элегантное решение — метод .isdigit().

Метод .isdigit() возвращает True, если строка состоит только из цифр. Это удобно, когда нужно, например, убедиться, что пользователь ввёл возраст или ID.

Итог
.isdigit() — простой способ проверить, состоит ли строка только из цифр.
Полезен при валидации ввода.
Работает только для положительных целых чисел.

Разъяснивший Python
Ridge и Lasso

Иногда простая линейная регрессия начинает чудить: переобучается, даёт нестабильные коэффициенты, особенно если в данных много признаков или они между собой похожи. Это называется мультиколлинеарность, и лечится оно регуляризацией — техникой, которая добавляет “штраф” за слишком сложную модель. В линейной регрессии это реализуется через Ridge (L2-регуляризация) и Lasso (L1-регуляризация).

Ridge-регрессия добавляет к ошибке сумму квадратов коэффициентов. В результате модель получает штраф за то, что “раздувает” веса. Чем больше alpha, тем сильнее сжимаются веса. Маленькое значение — почти обычная линейная регрессия, большое — всё приближается к нулям.

Lasso-регрессия штрафует за модули коэффициентов. То есть она не просто сжимает веса, а может вообще сделать некоторые из них равными нулю. Это превращает Lasso в инструмент для отбора признаков: она как бы говорит «этот признак не важен — выкину его сам».

Разъяснивший Python
re.sub

re.sub заменяет все вхождения шаблона в строке на указанное значение. Это полезно для очистки и нормализации текста.

Разъяснивший Python
Как удобно отформатировать строку с переменными?

Новички часто используют конкатенацию (+) для вставки переменных в строки. Это может быть неудобно и плохо читаемо. Вместо этого лучше использовать f-строки — современный и лаконичный способ форматирования строк в Python!

F-строки (или форматированные строки) позволяют вставлять переменные прямо внутрь строки с помощью фигурных скобок {}. Это и быстрее, и чище!

Итог:
F-строки — самый читаемый и удобный способ форматирования.
Позволяют вставлять выражения прямо в строку.
Работают с любой версией Python 3.6+.

Разъяснивший Python
👍1
Полезные библиотеки Python

Blackbird — мощный инструмент OSINT для поиска аккаунтов по всему интернету.

Ищете эффективный способ обнаружить учетные записи пользователя по нику или email?
Blackbird — продвинутый инструмент для OSINT-исследований, позволяющий быстро находить профили на более чем 600 платформах.

GitHub/Инструкция

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

any возвращает True, если хотя бы один элемент итерируемого объекта является истинным. Это полезно для быстрых проверок условий в коллекциях.

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

Функция numpy.where используется для поиска элементов в массиве, которые соответствуют определённому условию. Она возвращает индексы этих элементов или позволяет заменять их на другие значения. Благодаря данной статье ты узнаешь, как пользоваться numpy.where.

👉Читать статью

Разъяснивший Python
🔥21👎1
all

all проверяет все элементы итерируемого объекта и возвращает True, только если все элементы — истинные (truthy). Если хотя бы один элемент ложный (False, 0, None, пустая строка или список) — результат будет False.

Это полезно для проверки условий сразу на всех элементах без написания циклов.

Разъяснивший Python
Как проверить, содержится ли подстрока в строке?

Новички нередко используют громоздкие конструкции или циклы, чтобы проверить, встречается ли слово или символ в строке. Но Python позволяет делать это очень просто — с помощью ключевого слова in.

Оператор in возвращает True, если подстрока найдена в строке, и False — если нет. Это лаконично, читаемо и Python-идиоматично.

Итог:
in — простой способ проверить наличие подстроки.
Удобно использовать в условиях (if) и циклах.
Повышает читаемость кода и сокращает количество строк.

Разъяснивший Python
NumPy: concatenate

Функция numpy.concatenate() используется для объединения массивов вдоль существующих осей. Это позволяет объединять несколько массивов NumPy в один массив. Мы передаем последовательность массивов, которые хотим объединить, в функцию concatenate() вместе с осью. Если ось не передана явно, она принимается за 0.

Разъяснивший Python
Как округлить число до нужного знака после запятой?

Новички часто пытаются округлять числа вручную или с помощью форматирования строк. Однако в Python есть встроенная функция round(), которая делает это просто и понятно.

Функция round(число, знаки) округляет число до указанного количества знаков после запятой. Если не указывать второй аргумент — округлит до целого. Удобно для вывода результатов вычислений, цен или процентов. 🧮

Итог:
round(x, n) — округление числа x до n знаков после запятой.
Без второго аргумента округляет до целого.
Полезно при работе с деньгами, метриками и графиками.

Разъяснивший Python
Полезные библиотеки Python

Newspaper4k — мощная библиотека на Python для парсинга и анализа новостных статей. Это обновленный форк популярной Newspaper3k, дополненный новыми функциями и поддержкой более 40 языков.

GitHub/Инструкция

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

str.zfill дополняет строку нулями слева до заданной длины. Это полезно для форматирования чисел с фиксированной шириной, например, в номерах счетов или индексах.

Разъяснивший Python
Ловушка с аргументами *args и **kwargs без передачи дальше

В Python *args и **kwargs часто используются для гибкости, но ошибка — принимать их и не передавать дальше в базовые классы или функции. Это «глотает» параметры и может ломать поведение программы.

Всегда передавайте *args и **kwargs, если не уверены, что они вам не нужны.

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

Когда нужно понять, насколько быстро работает фрагмент кода, новички часто используют сторонние инструменты или пробуют измерять время "на глаз". Но в Python есть простой и встроенный способ — модуль time.

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

Итог:
Используем time.time() для измерения скорости.
Удобно для профилирования и отладки.
Легко встроить в любой проект.

Разъяснивший Python
👎1
NumPy, часть 2: базовые операции над массивами

Математические операции над массивами выполняются поэлементно. Создается новый массив, который заполняется результатами действия оператора.

Для этого, естественно, массивы должны быть одинаковых размеров.

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

Минус Lasso в том, что если признаки сильно скоррелированы между собой, она может случайно “выбрать” только один из них и проигнорировать остальные, даже если они тоже информативны. В таких случаях часто используют ElasticNet — это гибрид L1 и L2.

Параметр l1_ratio регулирует баланс между L1 и L2. 0.0 — чистый Ridge. 1.0 — чистый Lasso. 0.5 — пополам.

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