uz
Feedback
Senior Python Developer

Senior Python Developer

Kanalga Telegram’da o‘tish

№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy

Ko'proq ko'rsatish
2025 yil raqamlardasnowflakes fon
card fon
44 575
Obunachilar
Ma'lumot yo'q24 soatlar
-907 kunlar
-55930 kunlar
Postlar arxiv
Photo unavailableShow in Telegram
object object - это встроенный класс, от него наследуются сразу все новые классы, если явно не указан другой базовый класс. У объектов класса object есть методы init, str, repr и другие. Их можно переопределять в дочерних классах. Атрибуты класса объявляются внутри класса, но вне всех методов. Атрибуты экземпляра объявляются в init. Чтобы использовать класс object в своем коде, достаточно создать класс, унаследованный от object.
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
Protocol Класс Protocol - это способ формального определения протоколов, введенный в версии 3.8. Этот класс дает строгий и типизированный способ определения протоколов и позволяет формально описать интерфейс. Сейчас используется в основном в стандартной библиотеке. На изображении предоставлен пример использования Protocol для определения простого протокола логгирования.
Hammasini ko'rsatish...
#вопросы_с_собеседований В чем смысл параметров _value, __value? _value - одиночное подчеркивание в начале имени означает, что этот параметр не предназначен для использования outside функции. Это соглашение, а не ограничение языка. __value - двойное подчеркивание означает, что это имя зарезервировано Python и используется для специальных целей, например init для конструктора класса. Такие параметры могут выполнять какие-то дополнительные действия.
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
LangChain LangChainэто библиотека, которая позволяет создавать цепочки обработки естественного языка (NLP). Основные возможности: — Создание конвейеров обработки текста. — Подключение различных модулей NLP (токенизация, лемматизация и т. д.). — Объединение моделей в единую цепочку. — Удобная настройка и отладка. Используется для: — Построения приложений для анализа текста на Python. — Быстрого прототипирования решений для обработки естественного языка. — Объединения разных библиотек NLP в одном workflow. — Упрощения процесса экспериментов с моделями обработки текста. В этом примере создается цепочка из двух моделей OpenAI — Curie и Babbage, а текст передается поочередно в каждую модель.
Hammasini ko'rsatish...
#вопросы_с_собеседований Как работает хэш-таблица? Принцип работы: — Элементы хэш-таблицы хранятся в виде пар ключ-значение. — Каждому ключу сопоставляется уникальный целочисленный индекс с помощью хэш-функции. — Этот индекс используется для прямого доступа к ячейке таблицы, в которой и хранится значение. — Если по одному индексу хэш-функции попадает несколько ключей, используется механизм разрешения коллизий (цепочки, открытая адресация). — Хэш-таблица динамически изменяет свой размер, чтобы оптимизировать память и время доступа.
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
Breakpoint Breakpoint - это точка останова в коде, которая используется для отладки при помощи интерактивного отладчика. breakpoint ставится в строке кода, где нужен останов для проверки значений. При достижении breakpoint программа приостанавливается, после чего  можно изучить ее состояние. При выполнении код остановится на строке с breakpoint(), позволяя изучить текущие x и y. #это_база
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
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 кода.
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
manim Manimэто библиотека, которая используется для создания анимированных визуализаций и математических демонстраций. Manim позволяет программистам и математикам создавать наглядные анимации для визуализации различных процессов, объяснения алгоритмов, демонстрации физических явлений и других задач. Результат выполнения кода из примера — видеофайл с анимацией данных преобразований.
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
Статические методы в Python Статические методы - это методы, которые не требуют создания экземпляра класса для вызова. Они не имеют доступа к атрибутам и другим методам экземпляра класса и объявляются с помощью декоратора @staticmethod. Статические методы часто используются для реализации функционала, не зависящего от состояния экземпляра класса и полезны при создании утилитарных классов и функций. Как видно из примера, статические методы позволяют удобно организовывать функционал, связанный с обработкой строк, в класс StringUtils, не создавая отдельных объектов. #это_база
Hammasini ko'rsatish...
#вопросы_с_собеседований Что такое подгенератор (subgenerator)? Подгенератор создается с помощью конструкции yield from внутри генератора. Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями. Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.
Hammasini ko'rsatish...
#вопросы_с_собеседований В каких случаях можно обработать SyntaxError? SyntaxErrorэто исключение, которое генерируется интерпретатором при обнаружении ошибки в синтаксисе кода. Обработать это исключение можно в следующих случаях: — При разборе и выполнении кода, сгенерированного пользователем в приложении (например, в песочнице). — При динамическом изменении и выполнении кода с помощью eval() или exec(). — В REPL оболочках для обработки ошибок в интерактивном режиме. — В инструментах для проверки и валидации кода на корректность синтаксиса. — В интерпретаторах и компиляторах для информирования пользователя об ошибке. — В системах автодополнения кода для обработки некорректного синтаксиса. — В средствах отладки и трассировки для выявления ошибок в выполняемом коде.
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
Точка входа в программу Конструкция if __name__ == '__main__' используется для того, чтобы определить, запущен ли файл модуля напрямую или импортирован из другого модуля. Эта конструкция позволяет запустить какой-то код только при прямом вызове модуля, так как name будет равно 'main' только если модуль запущен напрямую. Это позволяет запускать программу полностью только когда она основная, а не импортируется в качестве модуля. #это_база
Hammasini ko'rsatish...
#вопросы_с_собеседований Что такое коллизия? Коллизия — это ситуация, когда при добавлении элементов в хеш-таблицу или словарь, разные ключи отображаются в одну и ту же ячейку памяти. Это происходит потому, что количество возможных ключей обычно больше, чем размер выделенной хеш-таблицы, и хеш-функция отображает ключи в ограниченное количество ячеек. При коллизии несколько разных ключей могут иметь одинаковый хеш, что приводит к их конфликту при размещении в хеш-таблице. Чтобы решить проблему коллизий, в Python используются разные стратегии, например: — Цепочки: списки элементов внутри ячейки таблицы. — Открытая адресация: подбор следующей свободной ячейки. — Перехеширование: генерация нового хеша при коллизии. Уменьшение коллизий позволяет повысить производительность операций с хеш-таблицами и словарями.
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
Библиотека Typer Typerэто библиотека для создания командных интерфейсов приложений на Python. Она позволяет легко создавать CLI приложения с поддержкой аргументов, опций, субкоманд и автоматической генерацией help. Основные возможности Typer: — Декоратор @typer.command() для определения команд и подкоманд. — Автоматический парсинг аргументов и опций. — Валидация и tipped annotations для аргументов и опций. — Автоматическая генерация help с описаниями. — Встроенная поддержка Click для обратной совместимости. Typer часто используется для создания утилит командной строки, CLI интерфейсов для python приложений, API клиентов, DevOps инструментов и других задач, где нужен простой и удобный интерфейс командной строки.
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
Click Clickпопулярная библиотека для создания интерфейса командной строки (CLI) в приложениях Python. Основные преимущества Click — простота использования, элегантный и понятный код, мощные возможности по созданию комплексных CLI. Работает на Python 3.6 и выше. Возможности: — Определение команд и групп команд с помощью декоратора @click.command(). — Декларативное описание аргументов и опций. — Автоматический парсинг аргументов командной строки. — Генерация help сообщения. — Поддержка bash/zsh автодополнения. — Вложенные команды и группы подкоманд. — Цветной вывод в терминал. Click широко используется для создания консольных утилит, CLI интерфейсов для web фреймворков, DevOps инструментов, скриптов автоматизации и других задач, где требуется командная строка.
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
Функция sorted sorted() используется для сортировки элементов в списке, кортеже или другой последовательности. Она возвращает новый отсортированный список или итератор, не изменяя исходную последовательность. По умолчанию сортировка выполняется в возрастающем порядке. Для сортировки в убывающем порядке нужно указать аргумент reverse=True. Для сортировки по определенному ключу можно использовать ключевой аргумент key. Он принимает функцию, которая извлекает ключ для сортировки из каждого элемента. Для сортировки объектов можно использовать атрибуты объекта в качестве ключа сортировки. Сортировка происходит на месте для списков, и создаётся новый отсортированный список для кортежей и других неизменяемых последовательностей. #это_база
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
Функция zip() Функция zip() принимает в качестве аргументов последовательности (списки, кортежи и т.д.) и возвращает итератор с кортежами из элементов этих последовательностей. Итератор возвращает кортежи, содержащие i-й элемент из каждой из последовательностей. Количество элементов в итоговом итераторе равно длине самой короткой последовательности. zip можно использовать для "сшивания" вместе данных из нескольких списков. Например, имена и фамилии из двух списков можно комбинировать в один список имя-фамилия. Результатом zip является итератор, который можно превратить в список или кортеж. Также на результат можно применять различные операции, такие как цикл for. zip используется вместе с распаковкой кортежей, чтобы присвоить элементы нескольких итераторов переменным в цикле. #это_база
Hammasini ko'rsatish...
#вопросы_с_собеседований Что такое модульное программирование? Модульное программирование — это подход к структурированию программного кода, при котором функциональность разбивается на отдельные модули. Основные преимущества модульного программирования: — Повышение читаемости и понятности кода, так как каждый модуль отвечает за определенную функциональность. — Возможность многократного использования модулей в разных частях программы. — Упрощение тестирования и отладки, поскольку каждый модуль можно тестировать отдельно. — Возможность распараллеливания разработки за счет разделения труда в команде. — Упрощение поддержки и модернизации кода за счет его модульности.
Hammasini ko'rsatish...
#вопросы_с_собеседований Что будет, если декоратор не возвращает ничего? Если декоратор не возвращает ничего, то происходит следующее: — Декоратор заменяет оригинальную декорируемую функцию на значение None. — При попытке вызвать декорированную функцию произойдет ошибка AttributeError, поскольку None не является вызываемым объектом. — Выполнение декорируемого кода на самом деле не происходит. — Декоратор фактически "срывает" работу декорируемой функции, делая ее невызываемой. Чтобы этого избежать, декоратор обязательно должен возвращать некоторое вызываемое значение — либо оригинальную функцию, либо другую функцию-обёртку. Таким образом, не возвращая ничего декоратор нарушает ожидаемое поведение и "ломает" декорируемый код.
Hammasini ko'rsatish...
Photo unavailableShow in Telegram
Pyspark Pyspark — это библиотека для работы с Apache Spark на языке Python. Она позволяет выполнять распределенные вычисления на кластерах и обрабатывать большие объемы данных. Основные возможности Pyspark: — Pyspark автоматически распределяет данные и вычисления между узлами кластера для максимальной производительности. — В Pyspark есть специальные типы данных (RDD, DataFrame, Dataset), которые позволяют удобно работать с табличными и структурированными данными. — Поддержка чтения и записи в разные хранилища данных и форматы файлов. — Встроенные алгоритмы машинного обучения для классификации, кластеризации, регрессии. — Интуитивно понятный API, позволяющий применять Pyspark вместе с другими популярными библиотеками Python для анализа данных. Таким образом, Pyspark используется для быстрой параллельной обработки больших объемов данных с помощью кластеров, что делает его очень полезным инструментом для big data и машинного обучения.
Hammasini ko'rsatish...