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
__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
Pretty Print словаря

Выводить многоуровневые словари с print() — боль: разрывы строк исчезнут, файл станет нечитаемым.
Но встроенная утилита pprint, выдаст в командной строке «причёсанный» словарь.

#theory // Just Python | ChatGPT
Автоматическое добавление ключа словарю

Если создать словарь средствами collections.defaultdict, добавить хотя бы один элемент, а затем обратиться к несуществующему ключу.

#theory // Just Python | ChatGPT
try / except + else + finally

Мастхэв для начинающих питонистов — пара try / except, обработчик исключений. Шикарным дополнением к такому блоку является, на мой взгляд, else: он опишет поведение программы на случай других ошибок, которых может быть немало!
Более того, добавив finally, вы выполните завершающие работы, например, скомандуете выслать уведомление.

#theory // Just Python | ChatGPT
Проверка существования переменной с помощью «моржового» оператора

Если мы объявили две переменные, но не задали любой из них значение, то с помощью оператора := (Walrus Operator) можно спасти программу от падения и добавить обрабатывающую логику. В первом случае, в переменные name1, name2 мы ничего не записали, значит, программа зайдет в блок else.

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

#theory // Just Python | ChatGPT