MQL — переводит запрос, описанный обычными словами в код на SQL при помощи нейросетей.
То есть пишешь ему, например:
И он вам выдаёт
#theory // Just Python
То есть пишешь ему, например:
все книги которые взяли студенты 2 курса за последнюю неделю
И он вам выдаёт
SELECT * FROM ...
и тд.#theory // Just Python
Как быстро проверить, является ли строка числом?
При обработке пользовательского ввода важно понимать, содержит ли строка число. Новички могут пытаться использовать
Метод
Итог
Полезен при валидации ввода.
Работает только для положительных целых чисел.
#theory // Just Python
При обработке пользовательского ввода важно понимать, содержит ли строка число. Новички могут пытаться использовать
try-except
или проверять вручную, но есть более элегантное решение — метод .isdigit()
.Метод
.isdigit()
возвращает True
, если строка состоит только из цифр. Это удобно, когда нужно, например, убедиться, что пользователь ввёл возраст или ID
. Итог
.isdigit()
— простой способ проверить, состоит ли строка только из цифр.Полезен при валидации ввода.
Работает только для положительных целых чисел.
#theory // Just Python
Colorama — библиотека, позволяющая работать с цветом вывода в консоль.
С её помощью можно выводить цветной текст, выставлять цвет фона, и даже смешивать эти режимы.
Colorama также может менять текст на жирный и на
Работает на всех операционках.
В том числе адекватно отображается в классической командной строке Windows.
Использовать очень просто.
Ставится командой
Документация и примеры кода здесь
Код из скриншота здесь
#theory // Just Python
С её помощью можно выводить цветной текст, выставлять цвет фона, и даже смешивать эти режимы.
Colorama также может менять текст на жирный и на
тусклый
. Всё это показано на скрине выше.Работает на всех операционках.
В том числе адекватно отображается в классической командной строке Windows.
Использовать очень просто.
Ставится командой
pip install colorama
Документация и примеры кода здесь
Код из скриншота здесь
#theory // Just Python
Метод re.sub
#theory // Just Python
re.sub
заменяет все вхождения шаблона в строке на указанное значение. Это полезно для очистки и нормализации текста.#theory // Just Python
Ridge и Lasso
Иногда простая линейная регрессия начинает чудить: переобучается, даёт нестабильные коэффициенты, особенно если в данных много признаков или они между собой похожи. Это называется мультиколлинеарность, и лечится оно регуляризацией — техникой, которая добавляет “штраф” за слишком сложную модель. В линейной регрессии это реализуется через Ridge (L2-регуляризация) и Lasso (L1-регуляризация).
Ridge-регрессия добавляет к ошибке сумму квадратов коэффициентов. В результате модель получает штраф за то, что “раздувает” веса. Чем больше alpha, тем сильнее сжимаются веса. Маленькое значение — почти обычная линейная регрессия, большое — всё приближается к нулям.
Lasso-регрессия штрафует за модули коэффициентов. То есть она не просто сжимает веса, а может вообще сделать некоторые из них равными нулю. Это превращает Lasso в инструмент для отбора признаков: она как бы говорит «этот признак не важен — выкину его сам».
#theory // Just Python
Иногда простая линейная регрессия начинает чудить: переобучается, даёт нестабильные коэффициенты, особенно если в данных много признаков или они между собой похожи. Это называется мультиколлинеарность, и лечится оно регуляризацией — техникой, которая добавляет “штраф” за слишком сложную модель. В линейной регрессии это реализуется через Ridge (L2-регуляризация) и Lasso (L1-регуляризация).
Ridge-регрессия добавляет к ошибке сумму квадратов коэффициентов. В результате модель получает штраф за то, что “раздувает” веса. Чем больше alpha, тем сильнее сжимаются веса. Маленькое значение — почти обычная линейная регрессия, большое — всё приближается к нулям.
Lasso-регрессия штрафует за модули коэффициентов. То есть она не просто сжимает веса, а может вообще сделать некоторые из них равными нулю. Это превращает Lasso в инструмент для отбора признаков: она как бы говорит «этот признак не важен — выкину его сам».
#theory // Just Python
Как удобно отформатировать строку с переменными?
Новички часто используют конкатенацию (+) для вставки переменных в строки. Это может быть неудобно и плохо читаемо. Вместо этого лучше использовать f-строки — современный и лаконичный способ форматирования строк в Python!
F-строки (или форматированные строки) позволяют вставлять переменные прямо внутрь строки с помощью фигурных скобок {}. Это и быстрее, и чище!
Итог:
F-строки — самый читаемый и удобный способ форматирования.
Позволяют вставлять выражения прямо в строку.
Работают с любой версией Python 3.6+.
#theory // Just Python
Новички часто используют конкатенацию (+) для вставки переменных в строки. Это может быть неудобно и плохо читаемо. Вместо этого лучше использовать f-строки — современный и лаконичный способ форматирования строк в Python!
F-строки (или форматированные строки) позволяют вставлять переменные прямо внутрь строки с помощью фигурных скобок {}. Это и быстрее, и чище!
Итог:
F-строки — самый читаемый и удобный способ форматирования.
Позволяют вставлять выражения прямо в строку.
Работают с любой версией Python 3.6+.
#theory // Just Python
any
#theory // Just Python
any
возвращает True
, если хотя бы один элемент итерируемого объекта является истинным. Это полезно для быстрых проверок условий в коллекциях.#theory // Just Python
Как замерить время выполнения кода в Python?
Когда нужно понять, насколько быстро работает фрагмент кода, новички часто используют сторонние инструменты или пробуют измерять время "на глаз". Но в Python есть простой и встроенный способ — модуль time.
С помощью time.time() можно зафиксировать время до и после выполнения кода, а затем вычесть одно из другого. Это особенно полезно при оптимизации производительности.
Итог:
+ Используем time.time() для измерения скорости.
+ Удобно для профилирования и отладки.
+ Легко встроить в любой проект.
#theory // Just Python
Когда нужно понять, насколько быстро работает фрагмент кода, новички часто используют сторонние инструменты или пробуют измерять время "на глаз". Но в Python есть простой и встроенный способ — модуль time.
С помощью time.time() можно зафиксировать время до и после выполнения кода, а затем вычесть одно из другого. Это особенно полезно при оптимизации производительности.
Итог:
+ Используем time.time() для измерения скорости.
+ Удобно для профилирования и отладки.
+ Легко встроить в любой проект.
#theory // Just Python
Пример использования all
Это полезно для проверки условий сразу на всех элементах без написания циклов.
Пример использования all.
#theory // Just Python
all
проверяет все элементы итерируемого объекта и возвращает True
, только если все элементы — истинные (truthy
). Если хотя бы один элемент ложный (False
, 0
, None
, пустая строка или список) — результат будет False
.Это полезно для проверки условий сразу на всех элементах без написания циклов.
Пример использования all.
#theory // Just Python
Как проверить, содержится ли подстрока в строке?
Новички нередко используют громоздкие конструкции или циклы, чтобы проверить, встречается ли слово или символ в строке. Но Python позволяет делать это очень просто — с помощью ключевого слова in.
Оператор in возвращает True, если подстрока найдена в строке, и False — если нет. Это лаконично, читаемо и Python-идиоматично.
Итог:
in — простой способ проверить наличие подстроки.
Удобно использовать в условиях (if) и циклах.
Повышает читаемость кода и сокращает количество строк.
#theory // Just Python
Новички нередко используют громоздкие конструкции или циклы, чтобы проверить, встречается ли слово или символ в строке. Но Python позволяет делать это очень просто — с помощью ключевого слова in.
Оператор in возвращает True, если подстрока найдена в строке, и False — если нет. Это лаконично, читаемо и Python-идиоматично.
Итог:
in — простой способ проверить наличие подстроки.
Удобно использовать в условиях (if) и циклах.
Повышает читаемость кода и сокращает количество строк.
#theory // Just Python
Cartopy
Cartopy — это Python-библиотека, предназначенная для создания карт и обработки геопространственных данных. Она построена на базе Matplotlib и обладает широким набором функций для создания профессиональных карт.
#theory // Just Python
Cartopy — это Python-библиотека, предназначенная для создания карт и обработки геопространственных данных. Она построена на базе Matplotlib и обладает широким набором функций для создания профессиональных карт.
#theory // Just Python
NumPy: concatenate
Функция numpy.concatenate() используется для объединения массивов вдоль существующих осей. Это позволяет объединять несколько массивов NumPy в один массив. Мы передаем последовательность массивов, которые хотим объединить, в функцию concatenate() вместе с осью. Если ось не передана явно, она принимается за 0.
#theory // Just Python
Функция numpy.concatenate() используется для объединения массивов вдоль существующих осей. Это позволяет объединять несколько массивов NumPy в один массив. Мы передаем последовательность массивов, которые хотим объединить, в функцию concatenate() вместе с осью. Если ось не передана явно, она принимается за 0.
#theory // Just Python
Как округлить число до нужного знака после запятой?
Новички часто пытаются округлять числа вручную или с помощью форматирования строк. Однако в Python есть встроенная функция
Функция round(число, знаки) округляет число до указанного количества знаков после запятой. Если не указывать второй аргумент — округлит до целого. Удобно для вывода результатов вычислений, цен или процентов.
Итог:
round(x, n) — округление числа x до n знаков после запятой.
Без второго аргумента округляет до целого.
Полезно при работе с деньгами, метриками и графиками.
#theory // Just Python
Новички часто пытаются округлять числа вручную или с помощью форматирования строк. Однако в Python есть встроенная функция
round(),
которая делает это просто и понятно.Функция round(число, знаки) округляет число до указанного количества знаков после запятой. Если не указывать второй аргумент — округлит до целого. Удобно для вывода результатов вычислений, цен или процентов.
Итог:
round(x, n) — округление числа x до n знаков после запятой.
Без второго аргумента округляет до целого.
Полезно при работе с деньгами, метриками и графиками.
#theory // Just Python
str.zfill
#theory // Just Python
str.zfill
дополняет строку нулями слева до заданной длины. Это полезно для форматирования чисел с фиксированной шириной, например, в номерах счетов или индексах.#theory // Just Python
NumPy
NumPy — это библиотека языка Python, добавляющая поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых (и очень быстрых) математических функций для операций с этими массивами.
Основным объектом NumPy является однородный многомерный массив (в numpy называется numpy.ndarray). Это многомерный массив элементов (обычно чисел), одного типа.
#theory // Just Python
NumPy — это библиотека языка Python, добавляющая поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых (и очень быстрых) математических функций для операций с этими массивами.
Основным объектом NumPy является однородный многомерный массив (в numpy называется numpy.ndarray). Это многомерный массив элементов (обычно чисел), одного типа.
#theory // Just Python
NumPy, часть 2: базовые операции над массивами
Математические операции над массивами выполняются поэлементно. Создается новый массив, который заполняется результатами действия оператора.
Для этого, естественно, массивы должны быть одинаковых размеров.
#theory // Just Python
Математические операции над массивами выполняются поэлементно. Создается новый массив, который заполняется результатами действия оператора.
Для этого, естественно, массивы должны быть одинаковых размеров.
#theory // Just Python
NumPy, часть 3: random
Есть несколько способов работы с случайными элементами в NumPy.
Путь первый это создавать списки, используя встроенный модуль random, а затем преобразовывать их в numpy.array.
Второй путь это создание массивов. Самый простой способ задать массив со случайными элементами - использовать функцию sample (или random, или random_sample, или ranf - это всё одна и та же функция).
#theory // Just Python
Есть несколько способов работы с случайными элементами в NumPy.
Путь первый это создавать списки, используя встроенный модуль random, а затем преобразовывать их в numpy.array.
Второй путь это создание массивов. Самый простой способ задать массив со случайными элементами - использовать функцию sample (или random, или random_sample, или ranf - это всё одна и та же функция).
#theory // Just Python
NumPy, часть 4: linalg
Теперь же мы приступим к более серьёзным вещам, которые есть в NumPy. Первый на очереди у нас модуль numpy.linalg, позволяющий делать многие операции из линейной алгебры.
Массивы большей размерности в большинстве функций linalg интерпретируются как набор из нескольких массивов нужной размерности. Таким образом, можно одним вызовом функции проделывать операции над несколькими объектами.
#theory // Just Python
Теперь же мы приступим к более серьёзным вещам, которые есть в NumPy. Первый на очереди у нас модуль numpy.linalg, позволяющий делать многие операции из линейной алгебры.
Массивы большей размерности в большинстве функций linalg интерпретируются как набор из нескольких массивов нужной размерности. Таким образом, можно одним вызовом функции проделывать операции над несколькими объектами.
#theory // Just Python
Forwarded from The Экономист
⚡️ Разыгрываем сразу 3 новеньких iPhone 16!
Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно:
1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать.
2. Нажать «Участвую!» под этим постом.
Итоги подведём 25 апреля в 18:00 случайным образом при помощи бота. Девайсы за свой счёт застрахуем и отправим победителям в любую точку мира. Всем удачи!
Отличный вариант получить свежайшие гаджеты просто за то, что читаете нас! Для участия нужно:
1. Быть подписанным на The Экономист, Москоубизнес и Доллар по тридцать.
2. Нажать «Участвую!» под этим постом.
Итоги подведём 25 апреля в 18:00 случайным образом при помощи бота. Девайсы за свой счёт застрахуем и отправим победителям в любую точку мира. Всем удачи!
Ловушка с аргументами
В Python
Всегда передавайте
#theory // Just Python
*args
и **kwargs
без передачи дальшеВ Python
*args
и **kwargs
часто используются для гибкости, но ошибка — принимать их и не передавать дальше в базовые классы или функции. Это «глотает» параметры и может ломать поведение программы.Всегда передавайте
*args
и **kwargs
, если не уверены, что они вам не нужны.#theory // Just Python