Protocol
Класс Protocol - это способ формального определения протоколов, введенный в версии 3.8.
Этот класс дает строгий и типизированный способ определения протоколов и позволяет формально описать интерфейс.
Сейчас используется в основном в стандартной библиотеке.
На изображении предоставлен пример использования Protocol для определения простого протокола логгирования.
🔗 Python tricks
Класс Protocol - это способ формального определения протоколов, введенный в версии 3.8.
Этот класс дает строгий и типизированный способ определения протоколов и позволяет формально описать интерфейс.
Сейчас используется в основном в стандартной библиотеке.
На изображении предоставлен пример использования Protocol для определения простого протокола логгирования.
🔗 Python tricks
Метод count()
count() - простой и удобный способ получить число вхождений элемента в последовательности за линейное время. Полезен при подсчете статистики, анализе данных и других задачах.
Метод принимает в качестве аргумента элемент, количество которого нужно посчитать и возвращает число - количество найденных вхождений элемента.
Работает для списков, кортежей, строк.
🔗 Python tricks
count() - простой и удобный способ получить число вхождений элемента в последовательности за линейное время. Полезен при подсчете статистики, анализе данных и других задачах.
Метод принимает в качестве аргумента элемент, количество которого нужно посчитать и возвращает число - количество найденных вхождений элемента.
Работает для списков, кортежей, строк.
🔗 Python tricks
Breakpoint
Breakpoint - это точка останова в коде, которая используется для отладки при помощи интерактивного отладчика.
breakpoint ставится в строке кода, где нужен останов для проверки значений. При достижении breakpoint программа приостанавливается, после чего можно изучить ее состояние.
При выполнении код остановится на строке с breakpoint(), позволяя изучить текущие x и y.
🔗 Python tricks
Breakpoint - это точка останова в коде, которая используется для отладки при помощи интерактивного отладчика.
breakpoint ставится в строке кода, где нужен останов для проверки значений. При достижении breakpoint программа приостанавливается, после чего можно изучить ее состояние.
При выполнении код остановится на строке с breakpoint(), позволяя изучить текущие x и y.
🔗 Python tricks
list.count
Метод count() возвращает количество раз, когда указанный элемент появляется в списке. В качестве элемента ты можешь использовать строку, число, список, кортеж и многое другое.
🔗 Python tricks
Метод count() возвращает количество раз, когда указанный элемент появляется в списке. В качестве элемента ты можешь использовать строку, число, список, кортеж и многое другое.
🔗 Python tricks
Нарезка списка
Start, stop и step необязательны. У них есть дефолтные значения, которые активируются, если не заполнить параметры:
• 0 для start;
• конец списка для stop;
• 1 для step.
🔗 Python tricks
Start, stop и step необязательны. У них есть дефолтные значения, которые активируются, если не заполнить параметры:
• 0 для start;
• конец списка для stop;
• 1 для step.
🔗 Python tricks
Использование памяти
С помощью sys.getsizeof() можно проверить использование памяти объектом.
Огромный список всего 48 байт, потому что функция range возвращает класс, который ведет себя как список. В вопросе памяти range эффективнее, чем использование актуального списка чисел.
🔗 Python tricks
С помощью sys.getsizeof() можно проверить использование памяти объектом.
Огромный список всего 48 байт, потому что функция range возвращает класс, который ведет себя как список. В вопросе памяти range эффективнее, чем использование актуального списка чисел.
🔗 Python tricks
Обязательные аргументы
Для принудительного использования аргументов ставьте символ звездочки перед ними, заставляя все аргументы стать ключевыми.
🔗 Python tricks
Для принудительного использования аргументов ставьте символ звездочки перед ними, заставляя все аргументы стать ключевыми.
🔗 Python tricks
📖Модуль difflib для сравнения последовательностей
Особенно полезен для работы с текстами. Содержит функции для создания отчётов в нескольких распространённых форматах, в том числе в HTML.
▪️Класс Differ(), например, выводит различия в отдельных строках, сопровождая их префиксами.
▪️Класс SequenceMatcher() позволяет вычислить сходство между строками. Функция get_opcodes() возвращает список инструкций для приведения первой последовательности к виду второй.
Таким образом, difflib полезен в ситуациях, когда нужно определить не только факт различия между двумя последовательностями, но и конкретные места, где эти различия возникают.
🔗 Python tricks
Особенно полезен для работы с текстами. Содержит функции для создания отчётов в нескольких распространённых форматах, в том числе в HTML.
▪️Класс Differ(), например, выводит различия в отдельных строках, сопровождая их префиксами.
▪️Класс SequenceMatcher() позволяет вычислить сходство между строками. Функция get_opcodes() возвращает список инструкций для приведения первой последовательности к виду второй.
Таким образом, difflib полезен в ситуациях, когда нужно определить не только факт различия между двумя последовательностями, но и конкретные места, где эти различия возникают.
🔗 Python tricks
enumerate
Функция enumerate() добавляет счетчик к итерируемому объекту и возвращает данный объект. При необходимости ты можешь указать, с какого числа начинать отсчет. По умолчанию значение 0.
🔗 Python tricks
Функция enumerate() добавляет счетчик к итерируемому объекту и возвращает данный объект. При необходимости ты можешь указать, с какого числа начинать отсчет. По умолчанию значение 0.
🔗 Python tricks
Разбиение строки в список
Вы можете разбить строку на список строк. В этом случае разбиение происходит по символу пробела.
Чтобы разделить по пустому месту, не нужно передавать в split никаких аргументов – используйте mystring.split().
🔗 Python tricks
Вы можете разбить строку на список строк. В этом случае разбиение происходит по символу пробела.
Чтобы разделить по пустому месту, не нужно передавать в split никаких аргументов – используйте mystring.split().
🔗 Python tricks
EEL
EEL (Easy Electron) — это библиотека, которая упрощает создание desktop-приложений с использованием технологий веб-разработки (HTML, CSS и Javascript).
Основные возможности EEL:
— Позволяет создавать графический интерфейс приложения при помощи веб-технологий.
— Обеспечивает взаимодействие между Python кодом и Javascript кодом. Python может вызывать JS функции, а JS может вызывать Python.
— Автоматически обрабатывает асинхронные вызовы между JS и Python.
— Встроенный локальный веб-сервер для отображения HTML/JS интерфейса.
В этом примере импортируется модуль eel и инициализируется папка с HTML и JS файлами — 'web'.
Декоратор @eel.expose делает функцию say_hello() доступной для вызова из Javascript.
Вызов eel.say_hello() вызывает эту функцию из Python кода.
🔗 Python tricks
EEL (Easy Electron) — это библиотека, которая упрощает создание desktop-приложений с использованием технологий веб-разработки (HTML, CSS и Javascript).
Основные возможности EEL:
— Позволяет создавать графический интерфейс приложения при помощи веб-технологий.
— Обеспечивает взаимодействие между Python кодом и Javascript кодом. Python может вызывать JS функции, а JS может вызывать Python.
— Автоматически обрабатывает асинхронные вызовы между JS и Python.
— Встроенный локальный веб-сервер для отображения HTML/JS интерфейса.
В этом примере импортируется модуль eel и инициализируется папка с HTML и JS файлами — 'web'.
Декоратор @eel.expose делает функцию say_hello() доступной для вызова из Javascript.
Вызов eel.say_hello() вызывает эту функцию из Python кода.
🔗 Python tricks
manim
Manim — это библиотека, которая используется для создания анимированных визуализаций и математических демонстраций.
Manim позволяет программистам и математикам создавать наглядные анимации для визуализации различных процессов, объяснения алгоритмов, демонстрации физических явлений и других задач.
Результат выполнения кода из примера — видеофайл с анимацией данных преобразований.
🔗 Python tricks
Manim — это библиотека, которая используется для создания анимированных визуализаций и математических демонстраций.
Manim позволяет программистам и математикам создавать наглядные анимации для визуализации различных процессов, объяснения алгоритмов, демонстрации физических явлений и других задач.
Результат выполнения кода из примера — видеофайл с анимацией данных преобразований.
🔗 Python tricks
len
Функция len() возвращает количество элементов (длину) в объекте. Если невозможно передать аргумент, либо передается недопустимый аргумент, вызывается исключение TypeError.
🔗 Python tricks
Функция len() возвращает количество элементов (длину) в объекте. Если невозможно передать аргумент, либо передается недопустимый аргумент, вызывается исключение TypeError.
🔗 Python tricks
Использование * и ** для распаковки аргументов функций
Некоторые функции требуют длинного списка аргументов. Этого следует избегать (например, с помощью классов данных), хотя это не всегда зависит от вас. Существует другой вариант – создать словарь с именованными аргументами и передать его функции. Так ваш код станет более читабельным
🔗 Python tricks
Некоторые функции требуют длинного списка аргументов. Этого следует избегать (например, с помощью классов данных), хотя это не всегда зависит от вас. Существует другой вариант – создать словарь с именованными аргументами и передать его функции. Так ваш код станет более читабельным
🔗 Python tricks
Словарь и set comprehensions
Словарю нужны ключ и значение.
Определяем ключ и значение в expression.
Синтаксис set comprehension не сильно отличается от list comprehension. Мы просто используем фигурные скобки вместо квадратных.
🔗 Python tricks
Словарю нужны ключ и значение.
Определяем ключ и значение в expression.
Синтаксис set comprehension не сильно отличается от list comprehension. Мы просто используем фигурные скобки вместо квадратных.
🔗 Python tricks
Работа с датами
Модуль Python-dateutil предоставляет мощное расширение для стандартного datetime. Устанавливается он следующим образом.
🔗 Python tricks
Модуль Python-dateutil предоставляет мощное расширение для стандартного datetime. Устанавливается он следующим образом.
🔗 Python tricks
Синтаксис
Синтаксис представления списков обеспечивает простой и надежный способ для создания новых списков из уже существующих. Допустим, нам нужен новый список, в котором каждый элемент старого списка будет умножен на 3. При помощи цикла for мы можем это сделать
🔗 Python tricks
Синтаксис представления списков обеспечивает простой и надежный способ для создания новых списков из уже существующих. Допустим, нам нужен новый список, в котором каждый элемент старого списка будет умножен на 3. При помощи цикла for мы можем это сделать
🔗 Python tricks
Создание строки из списка строк
Все сводится к тому, что функция String.join() может присоединять не только списки, но и любой iterable. Помещение его внутрь строки предотвращает реализацию одной и той же функциональности в нескольких местах.
🔗 Python tricks
Все сводится к тому, что функция String.join() может присоединять не только списки, но и любой iterable. Помещение его внутрь строки предотвращает реализацию одной и той же функциональности в нескольких местах.
🔗 Python tricks
Реверс строк и списков
Вы можете использовать slice-нотацию, чтобы перевернуть строку или список. При отрицательном значении шага, элементы меняются местами.
🔗 Python tricks
Вы можете использовать slice-нотацию, чтобы перевернуть строку или список. При отрицательном значении шага, элементы меняются местами.
🔗 Python tricks