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

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

@python_pssss

Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Subscribers
6.96K
Photos
3.3K
Videos
48
Links
3.3K

Showing posts older than #3284 · Back to latest

Older Posts 20 shown
Post #3283 530
Зачем нужны кортежи, если есть списки?

На это есть несколько причин. Во первых, это защита от дурака. То есть кортеж защищен от изменений, как намеренных (что плохо), так и случайных (что хорошо).

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

В третьих, это возможность использовать кортежи в качестве ключей словаря.

Разъяснивший Python
Post #3282 472
Как упростить условные выражения в одну строку?

Иногда нужно выбрать значение в зависимости от условия. Новички используют полные конструкции if-else, даже для простых проверок. Это громоздко и плохо читается. Вместо этого можно использовать тернарный оператор — компактный способ записать условие в одну строку.

Он работает по формуле: результат_если_True if условие else результат_если_False.

Итог:
Тернарный оператор экономит место.
Упрощает простые условия.
Делает код чище и легче для чтения.

Разъяснивший Python
Post #3281 499
YoutubeGO — мощный и простой в использовании инструмент для загрузки видео и аудио с YouTube и других платформ, поддерживающих HTTP-потоки.

С его помощью вы легко сохраните любимый контент для офлайн-просмотра

Ключевые возможности:
Поддержка множества платформ: Загружайте контент с YouTube, Vimeo и других сервисов.
Скачивание плейлистов: Сохраняйте целые плейлисты одним кликом.
Разнообразие форматов: Загружайте видео в MP4 и аудио в MP3 с автоматической конверсией.
Высокое разрешение: Поддержка до 8K, включая 4K, 2K, 1080p и другие.
Пакетная обработка: Управляйте очередью загрузок, приостанавливайте и возобновляйте их по необходимости.
Извлечение аудио: Получайте аудиодорожки из видеофайлов (требуется FFmpeg).
Drag & Drop интерфейс: Просто перетаскивайте ссылки для добавления в очередь загрузки.
Планировщик загрузок: Настраивайте загрузки на определенное время.
Кроссплатформенность: Полная поддержка Linux, macOS и Windows.

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

Разъяснивший Python
Post #3280 451
Дерево решений: Часть 1

Дерево решений — это модель, которая принимает решения, двигаясь по ветвям дерева от корня к листьям. На каждом узле происходит проверка: например, «если возраст > 30 — идём направо, иначе налево». Так шаг за шагом дерево делит данные на подгруппы, пока не придёт к финальному решению: в регрессии — числовое значение, в классификации — метка класса.

Модель выглядит почти как блок-схема, и ты можешь буквально прочитать, почему она приняла то или иное решение. В Python всё это делается через sklearn.tree.DecisionTreeClassifier или DecisionTreeRegressor.

Параметр max_depth — это ограничение на глубину дерева. Без него дерево может продолжать делиться, пока не переобучится подчистую. Всегда важно следить за глубиной, количеством листьев (max_leaf_nodes) и минимальным числом объектов в узле (min_samples_split) — это всё способы контроля переобучения.

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

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

С помощью этой фичи можно сразу задать значения, поменять переменные местами или распаковать кортеж — всё в одной строке.

Итог:
Множественное присваивание упрощает код.
Позволяет присваивать значения сразу нескольким переменным.
Удобно для обмена значениями и распаковки структур.

Разъяснивший Python
Post #3278 472
importlib.util.find_spec

importlib.util.find_spec позволяет узнать, можно ли импортировать модуль, не загружая его. Это полезно для проверки наличия зависимостей, динамической загрузки и построения систем плагинов.

Разъяснивший Python
Post #3276 471
Как элегантно обрабатывать ошибки в Python?

При написании кода часто возникают ситуации, когда что-то может пойти не так: файл не найден, данные невалидны или пользователь ввёл что-то не то. Новички часто боятся ошибок или пишут громоздкие конструкции, но Python предлагает удобный способ — блок try-except.

С помощью try-except можно перехватить исключения и аккуратно обработать их без аварийного завершения программы. Это улучшает стабильность кода и делает поведение более предсказуемым.

Итог:
try-except позволяет перехватывать ошибки.
Повышает надёжность и стабильность кода.
Удобно для пользовательского ввода, файлов, сетевых операций и др.

Разъяснивший Python
Post #3275 447
itertools.starmap

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

Разъяснивший Python
Post #3274 497
NumPy, часть 4: linalg

Теперь же мы приступим к более серьёзным вещам, которые есть в NumPy. Первый на очереди у нас модуль numpy.linalg, позволяющий делать многие операции из линейной алгебры.

Массивы большей размерности в большинстве функций linalg интерпретируются как набор из нескольких массивов нужной размерности. Таким образом, можно одним вызовом функции проделывать операции над несколькими объектами.

Разъяснивший Python
Post #3273 238

Forwarded from The Экономист

⚡️ Разыгрываем сразу 3 новеньких iPhone 16!

Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно:

1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать.
2. Нажать «Участвую!» под этим постом.

Итоги подведём 25 апреля в 18:00 случайным образом при помощи бота. Девайсы за свой счёт застрахуем и отправим победителям в любую точку мира. Всем удачи!
Post #3272 455
ElasticNet

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

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

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

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

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

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

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

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

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

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

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

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

Разъяснивший Python
Post #3265 523
str.zfill

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

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

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

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

Разъяснивший Python
  • 👍 1
Post #3263 517
Как округлить число до нужного знака после запятой?

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

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

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

Разъяснивший Python
Post #3261 482
NumPy: concatenate

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

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

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

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

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

Разъяснивший Python
Post #3258 539
all

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

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

Разъяснивший Python
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →