Прокачанный трейсинг ошибок
Классической проблемой новичка становится отладка программы: по трейсбеку (описанию) определить, в чем дело, бывает весьма затруднительно.
Теперь для указания на конкретный объект, вызвавший ошибку, используется строка с несколькими ^ (символ называется “циркумфлекс”). В сниппете выше мы просим поделить на ноль, и конечно, это вызывает ошибку.
#theory // Just Python
Классической проблемой новичка становится отладка программы: по трейсбеку (описанию) определить, в чем дело, бывает весьма затруднительно.
Теперь для указания на конкретный объект, вызвавший ошибку, используется строка с несколькими ^ (символ называется “циркумфлекс”). В сниппете выше мы просим поделить на ноль, и конечно, это вызывает ошибку.
#theory // Just Python
Улучшенный синтаксис параллельных процессов
Раньше мы вручную отслеживали все свои задачи в списке, прежде чем передать их в collect().
Теперь используем контекстный менеджер.
#theory // Just Python
Раньше мы вручную отслеживали все свои задачи в списке, прежде чем передать их в collect().
Теперь используем контекстный менеджер.
#theory // Just Python
Перезагрузка оператора
Python поддерживает перезагрузку оператора. Зная эти слова, вы сразу кажитесь настоящим компьютерным гением.
На самом деле, концепция довольно проста. Вы когда-нибудь задавались вопросом, почему в Python можно использовать оператор + для добавления чисел и конкатенации строк? Это и есть перезагрузка оператора в чистом виде.
Вы можете определить объекты, которые будут пользоваться стандартными символами операторов Python по-своему. Тогда их можно будет использовать в зависимости от содержимого объектов, с которыми вы работаете.
#theory // Just Python
Python поддерживает перезагрузку оператора. Зная эти слова, вы сразу кажитесь настоящим компьютерным гением.
На самом деле, концепция довольно проста. Вы когда-нибудь задавались вопросом, почему в Python можно использовать оператор + для добавления чисел и конкатенации строк? Это и есть перезагрузка оператора в чистом виде.
Вы можете определить объекты, которые будут пользоваться стандартными символами операторов Python по-своему. Тогда их можно будет использовать в зависимости от содержимого объектов, с которыми вы работаете.
#theory // Just Python
__call__
Этот метод позволяет создать так называемые «вызываемые» объекты, то есть их можно вызывать как функции.
#theory // Just Python
Этот метод позволяет создать так называемые «вызываемые» объекты, то есть их можно вызывать как функции.
#theory // Just Python
__getitem__ и __setitem__
Методы позволяют обращения к объекту по индексу или ключу, как если бы это был список или словарь.
#theory // Just Python
Методы позволяют обращения к объекту по индексу или ключу, как если бы это был список или словарь.
#theory // Just Python
Автоматизация и скриптинг
Есть множество вещей, которые вы можете автоматизировать всего за 4-5 строк кода. От установки заданий cron и напоминаний до загрузки ваших любимых видео на YouTube, вы можете сделать все это с помощью нескольких строк в python
#theory // Just Python
Есть множество вещей, которые вы можете автоматизировать всего за 4-5 строк кода. От установки заданий cron и напоминаний до загрузки ваших любимых видео на YouTube, вы можете сделать все это с помощью нескольких строк в python
#theory // Just Python
Выражения-генераторы — это синтаксис
Похожий на синтаксис представления списка (list comprehension), который позволяет нам создать объект-генератор.
Допустим, у нас есть представление-списка, который фильтрует пустые строки из файла и удаляет переход на новую строку в конце \n.
#theory // Just Python
Похожий на синтаксис представления списка (list comprehension), который позволяет нам создать объект-генератор.
Допустим, у нас есть представление-списка, который фильтрует пустые строки из файла и удаляет переход на новую строку в конце \n.
#theory // Just Python
Телеграмм бот-админ
При использовании команды
Итак с помощью некоторой команды, в данном примере /post можно публиковать новости в боте, например:
* важные объявления
* новости
* технические работы/неполадки
* может быть когда то в далеком будующем рекламу)
Когда новый пользователь начинает чат с ботом, его ID добавляется в список
#theory // Just Python
При использовании команды
/post, бот отправляет сообщение, указанное после команды, всем пользователям, чьи ID хранятся в списке joinedUsers.Итак с помощью некоторой команды, в данном примере /post можно публиковать новости в боте, например:
* важные объявления
* новости
* технические работы/неполадки
* может быть когда то в далеком будующем рекламу)
Когда новый пользователь начинает чат с ботом, его ID добавляется в список
joinedUsers, позволяя боту отправлять ему сообщения в будущем.#theory // Just Python
Что нового в Python 3.12. Перезапись декоратора
Если у нас есть класс Base c методом
#theory // Just Python
Если у нас есть класс Base c методом
get_color(), и в наследном классе GoodChild мы хотим эту функцию переопределить, то инструкцией @override это сделать очень просто.#theory // Just Python
Что нового в Python 3.12. Псевдонимы типов
Если мы объявим кортеж
#theory // Just Python
Если мы объявим кортеж
Point, который состоит из двух чисел с плавающей запятой, и собираемся создавать его экземпляры, с этим поможет инструкция type.#theory // Just Python
Фото в видео
Этот код создаст видео "my_slideshow.mp4" из фотографий 'photo1.jpg', 'photo2.jpg', и 'photo3.jpg' с частотой 1 кадр в секунду.
#theory // Just Python
Этот код создаст видео "my_slideshow.mp4" из фотографий 'photo1.jpg', 'photo2.jpg', и 'photo3.jpg' с частотой 1 кадр в секунду.
#theory // Just Python
Что нового в Python 3.12. TypedDict для определения типов **kwargs
Если вам доводилось налегать на kwargs (keyword arguments – аргументы c ключевыми словами), то вы помните, что оператор двойная звездочка издавна упаковывает аргументы, переданные по имени, в словарь.
Теперь мы можем использовать
#theory // Just Python
Если вам доводилось налегать на kwargs (keyword arguments – аргументы c ключевыми словами), то вы помните, что оператор двойная звездочка издавна упаковывает аргументы, переданные по имени, в словарь.
Теперь мы можем использовать
TypedDict (буквально – словарь с заданными типами значений) для того, чтобы такие аргументы получили большую свободу типов.#theory // Just Python
Выражения присваивания (Assignment expressions)
Так же известные как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Это, наверное, самое известное и обсуждаемое из нововведений версии 3.8.
Целью введения оператора является повышение читаемости кода, поэтому использовать его (как и все остальные операторы) стоит не при первой же возможности, а только тогда, когда это уместно.
#theory // Just Python
Так же известные как «моржовый оператор» (walrus operator) — новый синтаксис, который позволит присваивать значения переменным внутри другого выражения. Это, наверное, самое известное и обсуждаемое из нововведений версии 3.8.
Целью введения оператора является повышение читаемости кода, поэтому использовать его (как и все остальные операторы) стоит не при первой же возможности, а только тогда, когда это уместно.
#theory // Just Python
Сила «однострочников» (One-Liners)
Вы устали пробираться между строк кода и теряться в условных конструкциях? Тогда, однострочники Python — это то, что вам нужно.
#theory // Just Python
Вы устали пробираться между строк кода и теряться в условных конструкциях? Тогда, однострочники Python — это то, что вам нужно.
#theory // Just Python
Что нового в Python 3.12. Порядок слов в инструкции импорта
В крайней версии Python 3.12, наконец, стало возможным импортировать модули в адекватном для английского языка порядке слов.
#theory // Just Python
В крайней версии Python 3.12, наконец, стало возможным импортировать модули в адекватном для английского языка порядке слов.
#theory // Just Python
__init__
Если у вас есть определенные классы в Python, вы обязательно встретитесь с методом init. Он отвечает за инициализацию экземпляра класса, поэтому именно в нем вы обычно устанавливаете его неотъемлемые атрибуты – например, длина ребра квадрата.
#theory // Just Python
Если у вас есть определенные классы в Python, вы обязательно встретитесь с методом init. Он отвечает за инициализацию экземпляра класса, поэтому именно в нем вы обычно устанавливаете его неотъемлемые атрибуты – например, длина ребра квадрата.
#theory // Just Python
Встроенная (Built-in)
Самая широкая область. В ней есть все привычные «персонажи», которые загружаются в область переменных Python при запуске интерпретатора. К примеру, имя файла автоматически становится встроенной переменной, и к ней мы обращаемся с помощью двух подчеркиваний.
#theory // Just Python
Самая широкая область. В ней есть все привычные «персонажи», которые загружаются в область переменных Python при запуске интерпретатора. К примеру, имя файла автоматически становится встроенной переменной, и к ней мы обращаемся с помощью двух подчеркиваний.
#theory // Just Python
__call__
Этот метод позволяет создать так называемые «вызываемые» объекты, то есть их можно вызывать как функции.
#theory // Just Python
Этот метод позволяет создать так называемые «вызываемые» объекты, то есть их можно вызывать как функции.
#theory // Just Python
%%capture
Cкрывает выходные данные ячейки. Это полезно в разделе, где вы устанавливаете необходимые библиотеки: сводка процесса установки занимает много места и часто не является важной информацией, так что ее можно скрыть.
#theory // Just Python
Cкрывает выходные данные ячейки. Это полезно в разделе, где вы устанавливаете необходимые библиотеки: сводка процесса установки занимает много места и часто не является важной информацией, так что ее можно скрыть.
#theory // Just Python
%autoawait
Позволяет использовать параллельные процессы. Ультраполезная фича, когда речь заходит о предварительной обработке данных, где на одном конвейере предстоит обработать разные столбцы крупного датафрейма.
#theory // Just Python
Позволяет использовать параллельные процессы. Ультраполезная фича, когда речь заходит о предварительной обработке данных, где на одном конвейере предстоит обработать разные столбцы крупного датафрейма.
#theory // Just Python