Модуль transliterate
В Python существует несколько библиотек для транслитерации текста, и одной из них является библиотека transliterate. Этот модуль позволяет переводить текст из одной письменности в другую, например, из кириллицы в латиницу.
Для использования библиотеки transliterate сначала нужно установить её с помощью pip:
Библиотека transliterate поддерживает несколько письменностей, так что вы можете использовать её для транслитерации текста между различными языками.
🔗 Python tricks
В Python существует несколько библиотек для транслитерации текста, и одной из них является библиотека transliterate. Этот модуль позволяет переводить текст из одной письменности в другую, например, из кириллицы в латиницу.
Для использования библиотеки transliterate сначала нужно установить её с помощью pip:
pip install transliterate
Библиотека transliterate поддерживает несколько письменностей, так что вы можете использовать её для транслитерации текста между различными языками.
🔗 Python tricks
collections.Counter
🔗 Python tricks
collections.Counter
— это специальный класс, предоставляющий удобный способ подсчета хэшируемых объектов. Он является подклассом словаря и предоставляет функциональность для подсчета количества вхождений каждого элемента в последовательность (список, кортеж, строку и т.д.).🔗 Python tricks
Как работает хэш-таблица?
Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:
— Хэширование ключей: Когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код - это целое число, представляющее "отпечаток" ключа.
— Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого "ячейки" хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.
— Поиск значения: При поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей "ячейки" в хэш-таблице. Затем происходит поиск значения внутри этой "ячейки" (или цепочки).
🔗 Python tricks
Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:
— Хэширование ключей: Когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код - это целое число, представляющее "отпечаток" ключа.
— Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого "ячейки" хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.
— Поиск значения: При поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей "ячейки" в хэш-таблице. Затем происходит поиск значения внутри этой "ячейки" (или цепочки).
🔗 Python tricks
Функция zip()
Функция
Важно отметить, что если переданные итерируемые объекты имеют разную длину,
🔗 Python tricks
Функция
zip()
используется для объединения элементов из двух или более итерируемых объектов в кортежи. Эти кортежи могут затем быть использованы, например, для создания словарей или других структур данных. Функция zip()
создает итератор, который генерирует кортежи из элементов, взятых по одному из каждого переданного ей итерируемого объекта.Важно отметить, что если переданные итерируемые объекты имеют разную длину,
zip()
остановится, когда самый короткий из них исчерпается.🔗 Python tricks
Библиотека Manim
Библиотека Manim (Mathematical Animation Engine) предоставляет инструменты для создания анимаций математических концепций с использованием Python. Эта библиотека широко используется в образовательных целях и в сообществе, занимающемся созданием математических контентов. Manim была изначально разработана Grant'ом Sanderson'ом, создателем 3Blue1Brown, для создания анимаций для его образовательных видеороликов.
Помимо этого, существует две версии Manim: Manim Community Edition (ManimCE) и Manim GL. ManimCE является развитием и поддерживается сообществом. Manim GL, с другой стороны, предоставляет улучшенные возможности OpenGL для более высокого качества анимаций.
После установки вы можете использовать команды вроде
🔗 Python tricks
Библиотека Manim (Mathematical Animation Engine) предоставляет инструменты для создания анимаций математических концепций с использованием Python. Эта библиотека широко используется в образовательных целях и в сообществе, занимающемся созданием математических контентов. Manim была изначально разработана Grant'ом Sanderson'ом, создателем 3Blue1Brown, для создания анимаций для его образовательных видеороликов.
Помимо этого, существует две версии Manim: Manim Community Edition (ManimCE) и Manim GL. ManimCE является развитием и поддерживается сообществом. Manim GL, с другой стороны, предоставляет улучшенные возможности OpenGL для более высокого качества анимаций.
После установки вы можете использовать команды вроде
manim your_script.py YourSceneName -p -ql
, чтобы создать видео на основе вашего скрипта.🔗 Python tricks
Композиция классов
Композиция классов — это концепция, при которой один класс включает в себя объект(ы) другого класса в качестве атрибута. Это отличается от наследования, где класс наследует атрибуты и методы другого класса. Композиция обычно предпочтительна в сравнении с наследованием, так как она обеспечивает более гибкую структуру.
Композиция обычно предпочтительна, когда отношение между двумя классами является «имеет» или «включает», а не «является». Она делает код более гибким, позволяя изменять поведение объекта, не изменяя его класс напрямую.
Важно отметить, что композиция и наследование могут использоваться вместе в зависимости от конкретных требований вашей программы.
🔗 Python tricks
Композиция классов — это концепция, при которой один класс включает в себя объект(ы) другого класса в качестве атрибута. Это отличается от наследования, где класс наследует атрибуты и методы другого класса. Композиция обычно предпочтительна в сравнении с наследованием, так как она обеспечивает более гибкую структуру.
Композиция обычно предпочтительна, когда отношение между двумя классами является «имеет» или «включает», а не «является». Она делает код более гибким, позволяя изменять поведение объекта, не изменяя его класс напрямую.
Важно отметить, что композиция и наследование могут использоваться вместе в зависимости от конкретных требований вашей программы.
🔗 Python tricks
Six
Библиотека
В этом примере функция
🔗 Python tricks
Библиотека
Six
— это мощная библиотека, которая предназначена для сглаживания различий между двумя версиями Python: 2 и 3. Она предоставляет утилиты для обеспечения совместимости кода, который работает на обеих версиях Python без изменений. Six
состоит всего из одного файла Python, поэтому его легко скопировать в проект.В этом примере функция
dispatch_types
использует константы типов из библиотеки Six
для проверки типа переданного значения и вызова соответствующей функции обработки.🔗 Python tricks
Поверхностное копирование
Копирование объектов может быть выполнено как «поверхностное» (shallow) копирование или «глубокое» (deep) копирование. Различия между ними заключаются в том, как обрабатываются вложенные объекты.
При поверхностном копировании создается новый объект, но его внутренние элементы (если они тоже являются объектами) остаются ссылками на те же объекты, что и в оригинале. Другими словами, копируются только ссылки на объекты, но не сами объекты.
Заметьте, что изменения во вложенных объектах будут видны как в оригинале, так и в его поверхностной копии.
🔗 Python tricks
Копирование объектов может быть выполнено как «поверхностное» (shallow) копирование или «глубокое» (deep) копирование. Различия между ними заключаются в том, как обрабатываются вложенные объекты.
При поверхностном копировании создается новый объект, но его внутренние элементы (если они тоже являются объектами) остаются ссылками на те же объекты, что и в оригинале. Другими словами, копируются только ссылки на объекты, но не сами объекты.
Заметьте, что изменения во вложенных объектах будут видны как в оригинале, так и в его поверхностной копии.
🔗 Python tricks
aiohttp
Библиотека
В этом примере создается веб-приложение с помощью
🔗 Python tricks
Библиотека
aiohttp
— это асинхронный HTTP-клиент/сервер для asyncio
и Python. Она поддерживает как клиентские, так и серверные веб-сокеты “из коробки” без коллбэков. Веб-сервер имеет промежуточное ПО (middlewares), сигналы и подключаемую маршрутизацию.В этом примере создается веб-приложение с помощью
aiohttp.web.Application
, добавляются маршруты для обработки запросов к корневому URL-адресу (/
) и URL-адресу с именем (/{name}
). Функция handle
обрабатывает запросы, извлекает имя из параметров запроса (или использует значение по умолчанию “Anonymous”) и возвращает ответ с текстом приветствия.🔗 Python tricks
Что такое слайс(slice)
Слайс (slice) — это способ извлечения определенной части последовательности (например, строки, списка, кортежа) с использованием индексации.
🔗 Python tricks
Слайс (slice) — это способ извлечения определенной части последовательности (например, строки, списка, кортежа) с использованием индексации.
🔗 Python tricks
Kivy
В этом коде мы добавили обработчик событий
Результат работы этого кода - это окно с калькулятором, содержащим поле ввода и кнопки для ввода чисел и выполнения математических операций.
🔗 Python tricks
Kivy
— это библиотека с открытым исходным кодом для быстрой разработки межплатформенных пользовательских интерфейсов. Она позволяет создавать кроссплатформенные приложения без каких-либо трудностей. Kivy
написан на Python и Cython, основан на OpenGL ES 2, поддерживает различные устройства ввода и имеет обширную библиотеку виджетов. С одним и тем же кодом вы можете нацелиться на Windows, macOS, Linux, Android и iOS.В этом коде мы добавили обработчик событий
on_button_press
для кнопок калькулятора. Этот обработчик обновляет текст в поле ввода в зависимости от нажатой кнопки. Мы также добавили функцию evaluate
, которая вычисляет результат выражения в поле ввода и обновляет его текст.Результат работы этого кода - это окно с калькулятором, содержащим поле ввода и кнопки для ввода чисел и выполнения математических операций.
🔗 Python tricks
PyCaret
В этом примере мы загружаем набор данных juice и используем его для решения задачи классификации. Мы инициализируем настройки с помощью функции
Далее мы создаем модель решающего дерева с помощью функции
🔗 Python tricks
PyCaret
— это библиотека машинного обучения с открытым исходным кодом и низким уровнем кода для Python, которая автоматизирует рабочие процессы машинного обучения. Она является инструментом для машинного обучения и управления моделями от начала до конца, который ускоряет цикл экспериментов в экспоненциальной степени.В этом примере мы загружаем набор данных juice и используем его для решения задачи классификации. Мы инициализируем настройки с помощью функции
setup
, затем сравниваем различные модели с помощью функции compare_models
и выбираем наилучшую.Далее мы создаем модель решающего дерева с помощью функции
create_model
и настраиваем ее с помощью функции tune_model
. Мы также можем оценить модель с помощью функции evaluate_model
и использовать ее для прогнозирования на новых данных с помощью функции predict_model
.🔗 Python tricks
Изменяем цвет текста в терминале
Кроме того, можно использовать константы из модуля
Например, чтобы вывести зеленый текст с помощью
В этом примере
🔗 Python tricks
Colorama
— это библиотека для языка программирования Python, которая позволяет использовать ANSI-последовательности для вывода цветного текста в терминале на разных платформах. Кроме того, можно использовать константы из модуля
Style
для установки стиля текста (например, жирный или подчеркнутый) и константы из модуля Back
для установки цвета фона.Например, чтобы вывести зеленый текст с помощью
Colorama
, можно использовать код, приведенный выше. В этом примере
init
используется для инициализации библиотеки и обеспечения работы ANSI-последовательностей на Windows, а константа Fore
для установки цвета текста.🔗 Python tricks
Simplejson
Кодировщик может быть специализирован для обеспечения сериализации в любой ситуации, без какой-либо специальной поддержки сериализуемых объектов (наподобие
В этом примере мы импортируем модуль
🔗 Python tricks
Simplejson
является внешне поддерживаемой версией библиотеки json
, включенной в Python (начиная с версии 2.6). Эта версия протестирована с последней версией Python 3.8 и поддерживает обратную совместимость с Python 3.3+ и устаревшими версиями Python 2.5 - Python 2.72.Кодировщик может быть специализирован для обеспечения сериализации в любой ситуации, без какой-либо специальной поддержки сериализуемых объектов (наподобие
pickle
). Это лучше всего делать с помощью аргумента default
функции dumps
. Декодер может обрабатывать входящие строки JSON любой указанной кодировки (по умолчанию UTF-8). Он также может быть специализирован для постобработки объектов JSON с помощью аргументов object_hook
или object_pairs_hook
.В этом примере мы импортируем модуль
simplejson
под именем json
, создаем словарь data
с данными о пользователе. Затем используем функцию dump
, чтобы сериализовать словарь data
в строку JSON, сохраняем результат в переменной json_string
и выводим ее в консоль.🔗 Python tricks
set.symmetric_difference
Метод symmetric difference() используется для возврата нового множества, которое содержит элементы, присутствующие в одном из двух множеств, но не в обоих. Другими словами, это операция поиска различий между двумя множествами.
🔗 Python tricks
Метод symmetric difference() используется для возврата нового множества, которое содержит элементы, присутствующие в одном из двух множеств, но не в обоих. Другими словами, это операция поиска различий между двумя множествами.
🔗 Python tricks
Как проверить, что один кортеж содержит все элементы другого кортежа
Для проверки того, содержит ли один кортеж все элементы другого кортежа в Python, можно воспользоваться встроенной функцией all(), передав ей выражение генератора списков, которое проверяет наличие каждого элемента из второго кортежа в первом кортеже.
🔗 Python tricks
Для проверки того, содержит ли один кортеж все элементы другого кортежа в Python, можно воспользоваться встроенной функцией all(), передав ей выражение генератора списков, которое проверяет наличие каждого элемента из второго кортежа в первом кортеже.
🔗 Python tricks
Falcon
В этом примере создается
🔗 Python tricks
Falcon
— это быстрый и минималистичный веб-фреймворк, предназначенный для создания надежных бэкэнд приложений и микросервисов. Он отлично работает как с asyncio (ASGI), так и с gevent/meinheld (WSGI). Falcon
используется такими компаниями, как LinkedIn, PayPal, Wargaming и другими, чтобы обеспечить работу критически важных сервисов.В этом примере создается
QuoteResource
, который обрабатывает GET-запросы. При получении GET-запроса на маршрут /quote
возвращается словарь с информацией об авторе и цитате. Затем этот ресурс добавляется в приложение Falcon
с помощью метода add_route
.🔗 Python tricks
CherryPy
В этом примере создается класс
Результатом работы этого кода будет то, что при отправке GET-запроса на корневой маршрут (/) сервер вернет строку
“Hello World!”.
🔗 Python tricks
CherryPy
— это минималистический веб-фреймворк, который предоставляет удобный интерфейс к протоколу HTTP для разработчиков Python и позволяет создавать веб-приложения так же, как в традиционных объектно-ориентированных программах на Python.В этом примере создается класс
HelloWorld
с методом index
. Этот метод декорирован с помощью cherrypy.expose
, что означает, что он будет доступен как обработчик HTTP-запросов. Затем запускается веб-сервер CherryPy
с помощью метода cherrypy.quickstart
и передачи ему экземпляра класса HelloWorld
.Результатом работы этого кода будет то, что при отправке GET-запроса на корневой маршрут (/) сервер вернет строку
“Hello World!”.
🔗 Python tricks
wxPython
В этом примере мы создаем два основных объекта в
🔗 Python tricks
wxPython
— это кроссплатформенная обертка библиотек графического интерфейса пользователя, основанная на wxWidgets
и написанная на языке программирования C++. Она является одной из альтернатив Tkinter
, которая поставляется вместе с Python.В этом примере мы создаем два основных объекта в
wxPython
: основной объект окна и объект приложения. Затем управление передается обработчику событий (вызовом функции MainLoop()
), который отвечает за интерактивную часть программы.🔗 Python tricks
Расскажите, что такое асинхронный код
Асинхронный код — это подход к написанию кода, который позволяет выполнять несколько задач одновременно в рамках одного процесса. Это достигается за счет использования асинхронных функций и корутин. В отличие от синхронного кода, который выполняет каждую задачу последовательно, асинхронный код может запустить несколько задач «параллельно» и организовать их выполнение с помощью итераций и вызовов коллбеков.
🔗 Python tricks
Асинхронный код — это подход к написанию кода, который позволяет выполнять несколько задач одновременно в рамках одного процесса. Это достигается за счет использования асинхронных функций и корутин. В отличие от синхронного кода, который выполняет каждую задачу последовательно, асинхронный код может запустить несколько задач «параллельно» и организовать их выполнение с помощью итераций и вызовов коллбеков.
🔗 Python tricks