Чтение TOML-конфигов
Этот формат стал популярен относительно недавно и даже претендует на замену JSON ввиду повышенной “человекочитаемости”.
Наконец, разработчики ЯП зарелизили встроенную библиотеку для чтения таких файлов.
#theory // Just Python
Этот формат стал популярен относительно недавно и даже претендует на замену JSON ввиду повышенной “человекочитаемости”.
Наконец, разработчики ЯП зарелизили встроенную библиотеку для чтения таких файлов.
#theory // Just Python
%lsmagic
Чтобы не тратить драгоценный умственный ресурс, запомните всего одну директиву – вывести список всех команд. Запустив
Magic Commands – это часть IPython, интерактивной оболочки с дополнительными командами, подсветкой кода и автодополнением. Команды выполняют разнообразные вспомогательные операции. Те, что начинаются с одного символа “%”, применяются к одной строке, другие — ко всей ячейке. Давайте разберем самые полезные “колабисту” мэджики.
#theory // Just Python
Чтобы не тратить драгоценный умственный ресурс, запомните всего одну директиву – вывести список всех команд. Запустив
%lsmagic, получаем вот такой интересный список.Magic Commands – это часть IPython, интерактивной оболочки с дополнительными командами, подсветкой кода и автодополнением. Команды выполняют разнообразные вспомогательные операции. Те, что начинаются с одного символа “%”, применяются к одной строке, другие — ко всей ячейке. Давайте разберем самые полезные “колабисту” мэджики.
#theory // Just Python
%%time
Измеряет время выполнения ячейки. Это незаменимая утилита при оценке качества рефакторинга. Допустим, вы узнали, что цикл for замедляет код и переписали некоторый участок на перечисление (enumeration). Используя
#theory // Just Python
Измеряет время выполнения ячейки. Это незаменимая утилита при оценке качества рефакторинга. Допустим, вы узнали, что цикл for замедляет код и переписали некоторый участок на перечисление (enumeration). Используя
%%time, вы сможете с легкостью оценить прирост в общей скорости исполнения кода.#theory // Just Python
Группы исключений
Теперь можно объединять ошибки некоторых видов в группу и обрабатывать их одинаково.
Интересно, насколько ускорится процесс разработки, если вываливать на питониста сразу все причины падения? В выводе ниже одновременно и ошибка типа, и ошибка некорректного значения.
#theory // Just Python
Теперь можно объединять ошибки некоторых видов в группу и обрабатывать их одинаково.
Интересно, насколько ускорится процесс разработки, если вываливать на питониста сразу все причины падения? В выводе ниже одновременно и ошибка типа, и ошибка некорректного значения.
#theory // Just Python
Обогащение деталей ошибки
Теперь разработчик вправе дополнить ошибку кастомной заметкой.
Фича становится восхитительно полезной, когда типов ошибок много.
#theory // Just Python
Теперь разработчик вправе дополнить ошибку кастомной заметкой.
Фича становится восхитительно полезной, когда типов ошибок много.
#theory // Just Python
map - встроенная поддержка функционального программирования
В Python есть отличная особенность. Один из самых важных функций является функция map(), именно в сочетании с лямбда-функциями
Здесь map() применяет легкую лямбда-функцию на всех элементах x и возвращает объект map, который можно преобразовать в какой-нибудь итерируемый объект таких же как списки или кортежи
#theory // Just Python
В Python есть отличная особенность. Один из самых важных функций является функция map(), именно в сочетании с лямбда-функциями
Здесь map() применяет легкую лямбда-функцию на всех элементах x и возвращает объект map, который можно преобразовать в какой-нибудь итерируемый объект таких же как списки или кортежи
#theory // Just Python
__enter__ и_enter__ и
Эти методы используются для создания контекстных менеджеров (то есть объектов, которые можно использовать в блоке with), и позволяют управлять ресурсами, которые нужно освободить после использования.
При входе и выходе из блока with будут выведены соответствующие сообщения.
#theory // Just Python
Эти методы используются для создания контекстных менеджеров (то есть объектов, которые можно использовать в блоке with), и позволяют управлять ресурсами, которые нужно освободить после использования.
При входе и выходе из блока with будут выведены соответствующие сообщения.
#theory // Just Python
Погрузитесь в мир Python с нашим бесплатным курсом!
🎓 Включено 45 уроков, 56 упражнений в тренажере и 163 проверочных теста. Узнаете, как создавать программы, работать с условиями и функциями.
Что вы освоите:
— Составление программ из нескольких модулей.
— Анализ ошибок в коде с использованием отладочной печати.
📚 Курс охватывает основы Python: синтаксис, условия, циклы, типы данных и библиотеки. Практика на каждом шаге поможет вам уверенно использовать язык.
Начните свое обучение с бесплатного базового курса Python и вы сможете создавать несложные программы, а так же анализировать ошибки в коде!
🎓 Включено 45 уроков, 56 упражнений в тренажере и 163 проверочных теста. Узнаете, как создавать программы, работать с условиями и функциями.
Что вы освоите:
— Составление программ из нескольких модулей.
— Анализ ошибок в коде с использованием отладочной печати.
📚 Курс охватывает основы Python: синтаксис, условия, циклы, типы данных и библиотеки. Практика на каждом шаге поможет вам уверенно использовать язык.
Начните свое обучение с бесплатного базового курса Python и вы сможете создавать несложные программы, а так же анализировать ошибки в коде!
Прокачанный трейсинг ошибок
Классической проблемой новичка становится отладка программы: по трейсбеку (описанию) определить, в чем дело, бывает весьма затруднительно.
Теперь для указания на конкретный объект, вызвавший ошибку, используется строка с несколькими ^ (символ называется “циркумфлекс”). В сниппете выше мы просим поделить на ноль, и конечно, это вызывает ошибку.
#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