Senior Python Developer
Открыть в Telegram
№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
Больше2025 год в цифрах

44 575
Подписчики
Нет данных24 часа
-907 дней
-55930 день
Архив постов
Фото недоступноПоказать в Telegram
Функция dir()
Функция dir() используется для получения списка атрибутов и методов объекта.
Она принимает объект в качестве аргумента и возвращает список его атрибутов и методов в виде строк.
Для модулей
dir() возвращает список определенных в нем имен. Для классов возвращаются его атрибуты, методы и внутренние функции.
С помощью dir() можно получить список ключевых слов языка, передав builtin или builtins в качестве аргумента.
Без аргументов dir() возвращает список имен, определенных в текущей области видимости.
#это_базаФото недоступноПоказать в Telegram
Библиотека astropy
astropy — это библиотека для астрономии и астрофизики на Python.
Она содержит функционал для работы с астрономическими данными в разных форматах, включая FITS, ASCII и VOTable.
— Предоставляет классы и утилиты для представления и преобразования координат, дат, времени.
— Содержит поддержку физических величин с общим интерфейсом для работы с единицами измерения.
— Встроены статистические и математические функции, полезные для астрономии.
— Имеются утилиты для чтения данных из астрономических каталогов и баз.
аstropy легко расширяема — можно добавлять собственные пакеты для специфичных задач.Фото недоступноПоказать в Telegram
Библиотека psychopy
PsychoPy — это библиотека для создания экспериментов в области психологии и нейронауки.
Библиотека позволяет создавать различные стимулы — текст, изображения, звуки, видео.
— Есть функции для отслеживания реакции испытуемых — регистрации нажатий клавиш, движения мыши, электроэнцефалограммы.
— Поддерживает создание протоколов экспериментов с использованием последовательностей стимулов и логики.
— Можно создавать окна для отображения стимулов разных типов.
— Позволяет экспортировать данные в разные форматы для последующей обработки.
Фото недоступноПоказать в Telegram
pprint()
Функция pprint() предназначена для красивого форматированного вывода данных.
pprint() форматирует произвольные структуры данных, такие как вложенные списки, словари, кортежи для удобочитаемого вывода.
По умолчанию выводит данные с отступами и переносами, чтобы структура была наглядной.
Может принимать ширину вывода в количестве символов для лучшего форматирования.
Имеет параметры depth и compact для настройки уровня вложенности и режима компактного вывода.
Функционал pprint() доступен через модуль pprint в стандартной библиотеке.
#это_базаФото недоступноПоказать в Telegram
Что такое Протоколы
Протоколы — это соглашения, которые определяют интерфейс класса и поведение его объектов.
Протоколы задаются с помощью специальных методов, таких как
str, len и другие.
Они позволяют классам работать с различными функциями и операторами языка.
Реализуя протоколы можно интегрировать классы в языке и делать их поведение естественным и интуитивным.
В Python есть протоколы для чисел, итераторов, контекстных менеджеров, атрибутов и других областей.
Встроенные и сторонние библиотеки полагаются на стандартные протоколы.
#это_база#вопросы_с_собеседований
Какая разница в быстродействии между django и Flask и почему?
Django чуть медленнее Flask из-за своей более высокой функциональности и накладных расходов. Однако на практике разница в скорости работы между ними незначительна для большинства веб-приложений.
Flask может быть немного быстрее при обработке простых запросов, но Django лучше масштабируется при увеличении нагрузки благодаря встроенным инструментам кэширования и оптимизации.
Кроме того, производительность в большей степени зависит от архитектуры и качества кода конкретного приложения.
#вопросы_с_собеседований
Что такое Middleware?
Middleware — это промежуточное программное обеспечение, которое располагается между приложением и сетевыми службами.
Основная цель middleware — обработка запросов и ответов между клиентом и сервером.
Middleware выполняет такие функции, как:
— Аутентификация и авторизация пользователей
— Маршрутизация запросов к соответствующим сервисам или микросервисам
— Логирование и мониторинг
— Кэширование ответов для повышения производительности
— Балансировка нагрузки между серверами
— Шифрование и дешифрование данных
— Проверка и валидация данных
— Форматирование ответов в нужный формат
— Обработка ошибок и исключений
Использование middleware позволяет разделить логику приложения и инфраструктуры, упростить масштабирование и модификацию отдельных компонентов.
Фото недоступноПоказать в Telegram
Dictionary Comprehension
Dictionary comprehension — это конструкция, позволяющая компактным способом создавать словари на основе существующих итерируемых объектов.
Dictionary comprehension применяется в ситуациях, когда нужно:
— Быстро создать словарь из списка или другого итерируемого объекта.
— Преобразовать одну структуру данных в словарь.
— Создать словарь с некоторой обработкой элементов.
Основные преимущества dictionary comprehension:
— Компактный и читаемый синтаксис по сравнению с циклами.
— Лаконичное создание словарей "на лету".
— Оптимизированная производительность по сравнению с циклами.
Фото недоступноПоказать в Telegram
Работа с регистрами
Строки в Python имеют свойство регистра — прописные и строчные буквы считаются разными символами.
Для преобразования регистра используются методы строк:
str.upper() — преобразует строку к верхнему регистру.
str.lower() — преобразует строку к нижнему регистру.
str.swapcase() — меняет регистр каждого символа на противоположный.
str.capitalize() — делает первую букву заглавной, остальные строчными.
Регистр конкретного символа можно проверить в строке методами:
str.isupper() — проверка на заглавный регистр.
str.islower() — проверка на строчный регистр.
Регистр важно учитывать при сравнении строк на равенство.
#это_базаФото недоступноПоказать в Telegram
Класс Process
Process — это класс для создания и управления отдельными процессами из модуля multiprocessing.
Создание процесса выполняется конструктором
Process, передавая целевую функцию и аргументы.
При создании процессов нужно учитывать:
— Ограничения на доступ к данным между процессами.
— Синхронизацию процессов при необходимости.
#это_базаФото недоступноПоказать в Telegram
Соединение списка и множества в словарь
Для соединения списка и множества в словарь можно использовать встроенную функцию
zip(). Эта функция объединяет элементы нескольких последовательностей (`списков`, множеств, кортежей и т.д.) в кортежи.
Для создания словаря из списков и множеств нужно сначала объединить элементы в кортежи при помощи функции zip(), а затем создать словарь из этих кортежей при помощи функции dict().
fruit_prices будет содержать словарь {'apple': 1.20, 'banana': 0.80, 'orange': 1.50}.Фото недоступноПоказать в Telegram
Cравнение 2 аудиосообщений
Для сравнения двух аудиосообщений в Python нужно использовать библиотеку для анализа звука, например, librosa или PyAudio.
Здесь мы загружаем два файла и вычисляем их характеристики MFCC (Mel Frequency Cepstral Coefficients), которые представляют собой набор коэффициентов, описывающих звуковое пространство. Затем мы вычисляем расстояние между характеристиками с помощью функции dtln из librosa.core. Результат будет выведен в консоль.
Обратите внимание, что для сравнения аудиосообщений нужно, чтобы они имели одинаковую продолжительность и были записаны в одинаковых условиях (например, громкость, обработка шума).
Фото недоступноПоказать в Telegram
Scrapy
Scrapy - это фреймворк для извлечения данных из веб-сайтов. Он используется для автоматического сбора структурированных данных из веб-страниц, таких как цены товаров, информация о продуктах, контактные данные и многое другое.
Этот код создает веб-паука, который извлекает цены товаров с сайта
example.com. Он использует CSS-селекторы для поиска элементов страницы, содержащих информацию о продуктах, и извлекает их название и цену.Фото недоступноПоказать в Telegram
Удаляем файл из папки на компьютере
Для удаления файла из папки на ПК в Python можно использовать модуль os.
Здесь сначала мы импортируем модуль os. Затем указываем полный путь к удаляемому файлу в переменной
file_path. С помощью функции os.path.exists() проверяем, существует ли файл по указанному пути.
Если файл существует, мы удаляем его с помощью функции os.remove(). В противном случае выводим информацию, что такой файл не найден.Фото недоступноПоказать в Telegram
Tabulate
Библиотека Tabulate предназначена для красивого вывода табличных данных. Она поддерживает различные форматы таблиц и позволяет легко выводить данные в виде таблицы с заголовками и разделителями.
Основные возможности библиотеки Tabulate:
- Вывод табличных данных в различных форматах (plain, simple, grid, pipe, orgtbl, tsv, html, latex, ts, и др.).
- Автоматическое определение заголовков таблицы.
- Поддержка разных типов данных (числа, строки, списки, кортежи, словари и др.).
В результате работы кода из примера выводится таблица с данными о фруктах, их цене и количестве, оформленная в формате "grid".Фото недоступноПоказать в Telegram
Pymorphy2
Pymorphy2 — это библиотека для морфологического анализа слов русского языка. С помощью Pymorphy2 можно определить различные грамматические характеристики слова (род, число, падеж, время и т. д.), а также получить его нормальную форму (лемму).
В этом примере мы создаем экземпляр объекта
MorphAnalyzer и анализируем слово "котик". Затем мы используем метод parse, чтобы получить различные грамматические характеристики слова, и выводим его форму в родительном падеже единственного числа с помощью метода inflect. Результат выводится в консоль.Фото недоступноПоказать в Telegram
argparse
Библиотека
argparse является стандартным инструментом для обработки аргументов командной строки в Python. Она позволяет легко определить и обработать аргументы, передаваемые программе при запуске из командной строки.
В данном примере мы просто выводим значения аргументов на экран, но в реальном приложении вы можете использовать их для выполнения конкретных действий, например, чтения входного файла, обработки данных и записи результата в выходной файл.Фото недоступноПоказать в Telegram
Усыпляем программу
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
Фото недоступноПоказать в Telegram
Удаление дубликатов в словаре
Стратегия заключается в преобразовании списка словарей в список кортежей, где кортежи содержат элементы словаря.
Поскольку кортежи могут быть хешированы, вы можете удалить дубликаты с помощью set(используя здесь понимание множества , более старой альтернативой Python будет set(tuple(d.items()) for d in l)) и после этого заново создать словари из кортежей с помощью dict.
Более развернутый ответ можно найти здесь.
Фото недоступноПоказать в Telegram
Перебираем все возможные 8 значные пароли состоящие из букв и цифр с помощью Python
В этом примере используется модуль
itertools, который позволяет генерировать все возможные комбинации символов из списка characters длиной password_length. Затем перебираются все комбинации и выводятся на экран.
Обратите внимание, что перебор всех возможных 8-значных паролей может занять большое количество времени, особенно если количество символов в characters большое. Будьте осторожны и убедитесь, что ваше намерение соответствует законам и этическим правилам.