Just Python
11.2K subscribers
3.66K photos
11 videos
3.65K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Как быстро проверить, является ли строка числом?

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

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

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

#theory // Just Python
Colorama — библиотека, позволяющая работать с цветом вывода в консоль.

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

Colorama также может менять текст на жирный и на тусклый. Всё это показано на скрине выше.

Работает на всех операционках.
В том числе адекватно отображается в классической командной строке Windows.
Использовать очень просто.

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

#theory // Just Python
Метод re.sub

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

#theory // Just Python
Ridge и Lasso

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

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

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

#theory // Just Python
Как удобно отформатировать строку с переменными?

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

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

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

#theory // Just Python
any

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

#theory // Just Python
Как замерить время выполнения кода в Python?

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

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

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

#theory // Just Python
Пример использования all

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

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

Пример использования all.

#theory // Just Python
Как проверить, содержится ли подстрока в строке?

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

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

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

#theory // Just Python
Cartopy

Cartopy — это Python-библиотека, предназначенная для создания карт и обработки геопространственных данных. Она построена на базе Matplotlib и обладает широким набором функций для создания профессиональных карт.

#theory // Just Python
NumPy: concatenate

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

#theory // Just Python
Как округлить число до нужного знака после запятой?

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

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

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

#theory // Just Python
str.zfill

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

#theory // Just Python
NumPy

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

Основным объектом NumPy является однородный многомерный массив (в numpy называется numpy.ndarray). Это многомерный массив элементов (обычно чисел), одного типа.

#theory // Just Python
NumPy, часть 2: базовые операции над массивами

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

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

#theory // Just Python
NumPy, часть 3: random

Есть несколько способов работы с случайными элементами в NumPy.

Путь первый это создавать списки, используя встроенный модуль random, а затем преобразовывать их в numpy.array.

Второй путь это создание массивов. Самый простой способ задать массив со случайными элементами - использовать функцию sample (или random, или random_sample, или ranf - это всё одна и та же функция).

#theory // Just Python
NumPy, часть 4: linalg

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

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

#theory // Just Python
Forwarded from The Экономист
⚡️ Разыгрываем сразу 3 новеньких iPhone 16!

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

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

Итоги подведём 25 апреля в 18:00 случайным образом при помощи бота. Девайсы за свой счёт застрахуем и отправим победителям в любую точку мира. Всем удачи!
Ловушка с аргументами *args и **kwargs без передачи дальше

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

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

#theory // Just Python
Bottle — это мини-фреймворк для Python, позволяющий писать веб-приложения с высокой скоростью, и он представлен в виде одного файла bottle.py, так что для его работы достаточно только этого файла.

Мы все обожаем примеры, поэтому вот код для начала работы с Bottle:
from bottle import route, run, template

@route('/hello/<name>')
def index(name):
return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

Здесь мы создали веб сервер по адресу localhost с портом 8080.
Вы можете изменить текст "Hello {{name}}" на любой другой текст.

Чтобы проверить его работу, просто перейдите по ссылке http://localhost:8080/hello/world. После этого вы увидите на экране "Hello World".

Повторюсь, Bottle распространяется в виде одного файла-модуля и не имеет никаких зависимостей, кроме стандартной библиотеки Python.

Официальная документация только на английском
Русская документация

#theory // Just Python