Just Python
10.2K subscribers
4.39K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Что нового в Python 3.12. TypedDict для определения типов **kwargs

Если вам доводилось налегать на kwargs (keyword arguments – аргументы c ключевыми словами), то вы помните, что оператор двойная звездочка издавна упаковывает аргументы, переданные по имени, в словарь.

Теперь мы можем использовать TypedDict (буквально – словарь с заданными типами значений) для того, чтобы такие аргументы получили большую свободу типов.

#theory // Just Python
Выражения присваивания (Assignment expressions)

Так же известные как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Это, наверное, самое известное и обсуждаемое из нововведений версии 3.8.
Целью введения оператора является повышение читаемости кода, поэтому использовать его (как и все остальные операторы) стоит не при первой же возможности, а только тогда, когда это уместно.

#theory // Just Python
Сила «однострочников» (One-Liners)

Вы устали пробираться между строк кода и теряться в условных конструкциях? Тогда, однострочники Python — это то, что вам нужно.

#theory // Just Python
Что нового в Python 3.12. Порядок слов в инструкции импорта

В крайней версии Python 3.12, наконец, стало возможным импортировать модули в адекватном для английского языка порядке слов.

#theory // Just Python
__init__

Если у вас есть определенные классы в Python, вы обязательно встретитесь с методом init. Он отвечает за инициализацию экземпляра класса, поэтому именно в нем вы обычно устанавливаете его неотъемлемые атрибуты – например, длина ребра квадрата.

#theory // Just Python
Встроенная (Built-in)

Самая широкая область. В ней есть все привычные «персонажи», которые загружаются в область переменных Python при запуске интерпретатора. К примеру, имя файла автоматически становится встроенной переменной, и к ней мы обращаемся с помощью двух подчеркиваний.

#theory // Just Python
__call__

Этот метод позволяет создать так называемые «вызываемые» объекты, то есть их можно вызывать как функции.

#theory // Just Python
%%capture

Cкрывает выходные данные ячейки. Это полезно в разделе, где вы устанавливаете необходимые библиотеки: сводка процесса установки занимает много места и часто не является важной информацией, так что ее можно скрыть.

#theory // Just Python
%autoawait

Позволяет использовать параллельные процессы. Ультраполезная фича, когда речь заходит о предварительной обработке данных, где на одном конвейере предстоит обработать разные столбцы крупного датафрейма.

#theory // Just Python
Что нового в Python 3.12. Улучшенный подсказки для импорта

Если вы забыли подтянуть библиотеку инструкцией import, то теперь интерпретатор вежливо подскажет (‘did you forget...’) и укажет на опечатки в названии подключаемого модуля.

#theory // Just Python
Что нового в Python 3.12. Переиспользование кавычек в f-строках

Теперь напрягать внимание, чтобы вложить в строку объект в кавычках, не нужно. Система поймет, где открывающая, а где — закрывающая кавычка, любое количество раз.

#theory // Just Python
Что нового в Python 3.12. Обратная косая черта в f-строках

До Python 3.12 использовать backslash в интерполируемых строках было нельзя. Теперь же мы смело можем внедрять и разрывы строк (\n), и переносы кареток (\r), и другие подобные символы.

#theory // Just Python
Объединение скриптов Python и Shell

Теперь это то, что вы не можете сделать с C или C ++. Если вы парень с открытым исходным кодом, то вы наверняка используете Linux в качестве основной операционной системы или, по крайней мере, двойную загрузку. Итак, Linux уже включает Python. И python чрезвычайно совместим с Linux. Это дает нам преимущество их компиляции и объединения. Вы можете просто создать сценарий, который может работать как обычный сценарий Unix, а также интерпретируемый код Python одновременно.

#theory // Just Python
Защита от SQL-инъекций

Безопасники скажут вам, что: внутрь текста (например, в поле анкеты) можно внедрить SQL-запрос и даже дропнуть базу данных. Но не дай бог нам с вами увидеть такое на проде.

#theory // Just Python // ChatGPT
%debug

Активируeт интерактивный отладчик. 
Эта команда поддерживает два способа активации: перед выполнением кода (точка останова) и post-mortem (“посмертно”). Второй режим вы можете активировать, запустив %debug без каких-либо аргументов. Если только что произошло исключение, это позволит в интерактивном режиме проверить путь ошибки.

#theory // Just Python // ChatGPT
%pip

Множество сторонних библиотек подключается к проекту именно этой командой. 
Помимо установки модуля по названию вы можете устанавливать некоторые инструменты с помощью ссылки на репозиторий. 

#theory // Just Python | ChatGPT
%precision

Указывает число знаков после запятой (decimal number) для числовых объектов.

#theory // Just Python | ChatGPT
%rerun

Перезапускает предыдущую ячейку. В моей практике это полезно, чтобы пересобрать, к примеру, эмоциональную окраску (позитивная / негативная) реплики пользователя на базе библиотеки dostoevsky.

#theory // Just Python | ChatGPT
Включение генераторов, сетов

Раньше был эффективный способ генерировать списки — «списковое включение» (List Comprehension).
Оказывается, этому поддаются и другие составные типы — генераторы и сеты.

#theory // Just Python | ChatGPT
TypeVarTuple

Допустим, мы создаём функцию convert_first_int(), которая возвращает кортеж практически неизменным, только первый элемент приводит к целочисленному типу.
TypeVarTuple представляет собой произвольный кортеж потенциально разных типов. Полезно, если функция имеет дело только с первым элементом кортежа, и нам «разрешит» любые оставшиеся типы.

#theory // Just Python | ChatGPT