№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
Создание telegram-ботов с интерактивным меню
Рассмотрим небольшого бота, взаимодействующего с пользователем через сообщение с inline-клавиатурой.
Смотреть статью
ScrubadubScrubadub
— это библиотека для обнаружения и удаления личной информации (PII) из текста на языке Python. Она может быть полезной при обработке текстовых данных, чтобы защитить конфиденциальность информации.
Этот код обнаружит и удалит PII (номер телефона и адрес электронной почты) из текста и вернет очищенную версию текста.
#для_начинающих
SpaCySpaCy
— это библиотека для обработки естественного языка (NLP) на языке Python. Она предоставляет инструменты для сегментации текста, анализа грамматики, извлечения информации и многих других задач, связанных с обработкой текста.
Библиотека предоставляет множество инструментов для более сложных задач обработки текста, таких как анализ тональности, извлечение ключевых фраз, машинное обучение и многое другое. Вы можете узнать больше о SpaCy в его официальной документации.
#для_продвинутых
RecursionError
Ошибка RecursionError в Python возникает, когда функция вызывает саму себя (рекурсивный вызов) слишком много раз и превышает максимальную глубину рекурсии, установленную интерпретатором Python. Это ограничение существует для предотвращения переполнения стека вызовов, что может привести к сбою программы.
Обычно RecursionError сопровождается сообщением, указывающим на место в вашем коде, где произошла ошибка. Это сообщение будет содержать информацию о максимальной глубине рекурсии, которая была превышена.
#для_начинающих
Py-spy
Py-spy — это инструмент для профилирования производительности Python-приложений. Он предоставляет информацию о том, как Python-приложение использует центральный процессор (CPU) и может помочь вам выявить узкие места в вашем коде, которые могут приводить к высокому использованию CPU.
Py-spy можно использовать из командной строки, чтобы наблюдать за работой запущенных Python-процессов. Он предоставляет информацию о потреблении CPU, вызовах функций, стеке вызовов и других характеристиках производительности. Вы можете использовать py-spy для оптимизации вашего Python-кода и выявления проблем с производительностью.
#для_продвинутых
Динамическая загрузка модуля
Динамическая загрузка модуля в Python — это процесс импорта модуля во время выполнения программы, в отличие от статического импорта, который выполняется на этапе компиляции. Это может быть полезно, если вы хотите загружать модули в зависимости от условий или пользовательского ввода, чтобы сделать вашу программу более гибкой.
Обратите внимание, что для динамической загрузки модуля он должен быть доступен в пути поиска модулей Python, например, находиться в том же каталоге, где выполняется ваш скрипт, или в путях, указанных в переменной sys.path
.
Также обратите внимание, что динамическая загрузка модулей может быть мощным инструментом, но она также может привести к проблемам безопасности, если модули загружаются из ненадежных источников. Убедитесь, что вы проверяете и фильтруете ввод, который вы используете для определения имени модуля, чтобы избежать потенциальных уязвимостей.
#для_продвинутых
Команда Яндекс Маркета приглашает на бесплатный митап для бэкенд-разработчиков в Москве.
— Расскажем про переезд на непрерывную доставку данных.
— Поделимся опытом автоматизации рутины средствами компилятора.
— Проведем дискуссию о том, как выполнить переезд с монолита на микросервисы.
И, конечно, afterparty!
Место встречи: Москва-Сити, башня «Око».
Время: 18:30, 16 ноября
Количество мест ограничено. Регистрация началась.
Подробнее
Реклама. ООО "ЯНДЕКС". ИНН 7736207543. erid: LjN8Kbu8k
Время учить Python.
⏰ Уже 8 ноября старт Подготовительного курса!
✔️ Упражняемся в браузерном тренажере — учимся понимать и писать код на Python.
✔️ Погружаемся в реальный продакшен — создаем конвертер валют вместе с наставником.
✔️ Размещаем изменения на GitHub — получаем основу для своего первого пет-проекта.
База по Python 8 ноября. На практике. За 990 рублей.
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8KVekF
Функция sample
Функция sample() позволяет выбрать случайным образом элементы из последовательности или коллекции.
Это удобно при необходимости получить случайную выборку из данных.
Функция принимает два основных аргумента:population
— последовательность, из которой надо выбрать элементы (list
, tuple
, string
и т. д.)k
— количество элементов для выборки.
Дополнительные аргументы:counts
— список весов элементов (по умолчанию равновероятный выбор).rng
— генератор случайных чисел (по умолчанию берется из модуля random
).
В примере из списка букв берется случайная выборка размером 3 элемента. Результат при каждом запуске будет разный.
#это_база
💸 Постоянная прокачка знаний — это +100 к успеху стартапа!
Подпишитесь на СберСтартап, примите участие в крутых активностях SberUnity и получите возможность попасть на мероприятия Сбера! 💚
Реклама. Публичное акционерное общество «Сбербанк России», ПАО Сбербанк ИНН 7707083893
Бэкенд-команды Яндекса отправляются в тур по городам России
С 13 по 17 ноября ребята из наших команд проведут встречи в Москве, Нижнем Новгороде, Екатеринбурге, Новосибирске и Санкт-Петербурге. Мы хотим рассказать местным разработчикам о себе: как устроены наши сервисы, что за технологии мы используем, почему гордимся тем, что делаем. Участвуют представители 14 разных сервисов Яндекса. После официальной части вместе отдохнём: послушаем стендап Севы Ловкачева и поболтаем о жизни в неофициальной обстановке.
Кроме этого, мы устроим онлайн-трансляцию встречи из Москвы — вы сможете подключиться и пообщаться с нашими разработчиками из любого города России.
Вот расписание встреч:
🔸 13 ноября онлайн-трансляция
🔸 13 ноября офлайн-встреча в Москве
🔸 14 ноября офлайн-встреча в Нижнем Новгороде
🔸 15 ноября офлайн-встреча в Екатеринбурге
🔸 16 ноября офлайн-встреча в Новосибирске
🔸 17 ноября офлайн-встреча в Санкт-Петербурге
А с 20 по 26 ноября мы проведём Week Offer Backend: предложим всего за одну неделю получить офер в одну из 14 участвующих команд. Приглашаем кандидатов с опытом разработки от трёх лет на одном из этих языков программирования: С++, С#, Python, Java, Go и Scala. Принимаем заявки до 19 ноября.
Узнать подробности и зарегистрироваться можно здесь.
Реклама. ООО "Яндекс". erid: 2VtzqwfRiE2
27 и 28 ноября в Москве пройдёт юбилейный, 20-й, HighLoad++. Мы собрали самую масштабную конференцию за последние 15 лет!
✅3000 участников
✅150+ докладов
✅11 залов
✅5 мастер-классов
✅Конференция в конференции — GolangConf 2023
✅Премия HighLoad++ 2023
👉Подробнее: https://clck.ru/36EUDK
Создание, эксплуатация и масштабирование высоконагруженных проектов требует от разработчика одновременно и внимание к деталям и широты кругозора, чтобы увидеть полную картину. Поэтому программа конференции включает не только традиционные доклады, но и несколько спецпроектов.
Вместе с нашими партнёрами из Яндекса мы собрали целый опенсорс-трек, а на конференции проведём опенсорс трибуну, где вы сможете узнать о решениях с открытым кодом, которые создаются прямо сейчас. Для golang-разработчиков собрали конференцию. И после трёхлетнего перерыва, при поддержке VK, проведём церемонию награждения лауреатов Премии HighLoad++.
Реклама. ООО "КОНФЕРЕНЦИИ ОЛЕГА БУНИНА". ИНН 7733863233. erid: LjN8KSCNi
#вопросы_с_собеседований
Что такое RPC?
RPC, или удаленный вызов процедур, — это механизм для вызова процедур или функций, расположенных на другом компьютере в сети. Он позволяет вызывать код на удаленном компьютере так, как будто этот код находится локально.
Основная идея RPC заключается в том, чтобы скрыть детали сетевого взаимодействия от разработчика. Разработчику кажется, что он просто вызывает локальную функцию, хотя на самом деле происходит удаленный вызов через сеть.
RPC широко используется в распределенных системах для организации взаимодействия между отдельными компонентами. Например, в микросервисной архитектуре для вызова сервисов друг из друга.
Функция isalnum
Функция isalnum() используется для проверки, состоит ли строка из буквенно-цифровых символов.
Функция принимает в качестве аргумента строку и возвращает True
, если строка состоит только из буквенных символов (a-z, A-Z) и цифр (0-9), или False
, если в строке есть другие символы, пробелы, знаки пунктуации и т. д.
*Регистр символов не имеет значения.
*Пустая строка возвращает False
.
#это_база
Фреймворк nose2
Фреймворк nose2 предназначен для модульного тестирования. Он позволяет писать, организовывать и запускать юнит-тесты для кода на Python.
Основные возможности nose2
:
— Автоматическое обнаружение и запуск тестовых методов и функций.
— Поддержка разных стилей написания тестов (unittest
, doctest
и др.).
— Плагинная архитектура для расширения функциональности.
— Генерация отчетов в разных форматах (JSON
, XML
).
— Интеграция с Continuous Integration системами.
В этом примере класс TestSum
использует декоратор tools.params
от nose2
для параметризации. Функция sum
тестируется на разных значениях x
.
При запуске кода nose2
автоматически найдет и выполнит этот тест, проверив работу функции sum
с аргументами 1
, 2
и 3
.
Функция os.listdir()
Функция os.listdir()
в Python используется для получения списка файлов и папок в указанной директории. Она возвращает список имен элементов в указанной директории в виде строк.
Замените '/путь/к/директории'
на путь к директории, список файлов и папок которой вы хотите получить. Функция os.listdir() вернет список строк с именами элементов в этой директории, и вы можете использовать этот список для дальнейшей обработки файлов и папок в Python.
#для_начинающих
Бэкенд-команды Яндекса отправляются в тур по городам России
С 13 по 17 ноября ребята из наших команд проведут встречи в Москве, Нижнем Новгороде, Екатеринбурге, Новосибирске и Санкт-Петербурге. Мы хотим рассказать местным разработчикам о себе: как устроены наши сервисы, что за технологии мы используем, почему гордимся тем, что делаем. Участвуют представители 14 разных сервисов Яндекса. После официальной части вместе отдохнём: послушаем стендап Севы Ловкачева и поболтаем о жизни в неофициальной обстановке.
Кроме этого, мы устроим онлайн-трансляцию встречи из Москвы — вы сможете подключиться и пообщаться с нашими разработчиками из любого города России.
Вот расписание встреч:
🔸 13 ноября онлайн-трансляция
🔸 13 ноября офлайн-встреча в Москве
🔸 14 ноября офлайн-встреча в Нижнем Новгороде
🔸 15 ноября офлайн-встреча в Екатеринбурге
🔸 16 ноября офлайн-встреча в Новосибирске
🔸 17 ноября офлайн-встреча в Санкт-Петербурге
А с 20 по 26 ноября мы проведём Week Offer Backend: предложим всего за одну неделю получить офер в одну из 14 участвующих команд. Приглашаем кандидатов с опытом разработки от трёх лет на одном из этих языков программирования: С++, С#, Python, Java, Go и Scala. Принимаем заявки до 19 ноября.
Узнать подробности и зарегистрироваться можно здесь.
Реклама. ООО "Яндекс". erid: 2VtzqwfRiE2
StreamlitStreamlit
— это библиотека для создания веб-приложений с использованием Python. Она предоставляет простой способ превращения скриптов Python в интерактивные веб-приложения без необходимости изучения веб-разработки или HTML/CSS/JavaScript.
Streamlit предоставляет множество возможностей для создания интерактивных приложений с минимальными усилиями. Вы можете использовать его для создания дашбордов, визуализации данных, прототипирования и многих других приложений. Для более подробной информации и документации по Streamlit посетите официальный сайт.
#для_начинающих
NumPy: шпаргалка для начинающих
В этой статье мы поговорим про NumPy. Это статья-шпаргалка для начинающих пользователей NumPy, надеюсь она будет вам полезна.
Смотреть шпаргалку
Emot
Emot (Emotional Analysis for Text) — это библиотека для анализа эмодзи на Python. Она может быть полезна для обработки данных текста, чтобы удалить эмодзи и других задач, связанных с анализом эмотиконами.
Чтобы использовать библиотеку Emot, вам сначала нужно установить её с помощью pip:
pip install emot#для_начинающих Читать полностью…
LightGBM
LightGBM (Light Gradient Boosting Machine) — это библиотека для машинного обучения, которая специализируется на градиентном бустинге и предоставляет выдающуюся производительность и эффективность. Она была разработана Microsoft и предназначена для решения задач классификации, регрессии и ранжирования. LightGBM быстро стала популярной в машинном обучении благодаря скорости, эффективности, поддержки множества задач, а главное градиентному бустингу.
Использование LightGBM в Python, как описано в предыдущем ответе, позволяет легко интегрировать эту библиотеку в ваши проекты машинного обучения и проводить высококачественный анализ данных и прогнозирование.
#для_продвинутых
Geoplotlib
Geoplotlib — это библиотека Python, предназначенная для создания интерактивных карт и визуализации геоданных. Она предоставляет простой и удобный способ создания различных карт, включая точечные карты, карты с тепловыми картами, кластеризацию данных и другие географические визуализации.
Перед началом работы установите и импортируйте библиотеку. Чтобы визуализировать геоданные, вам понадобятся данные о географических координатах (широте и долготе). Вы можете использовать различные источники данных, такие как CSV-файлы, базы данных или API.
#для_начинающих
Функция cv2.blur()
Вы можете размыть изображение в Python с помощью функции OpenCV cv2.blur().
Выше приводится простой пример, в котором нужно размыть изображение и сохранить его.
Ознакомиться подробнее можно здесь.
Метод str.expandtabs()
Метод str.expandtabs() используется для замены символов табуляции (\t) в строке на заданное количество пробелов.
Он позволяет контролировать ширину табуляции при выводе строки.
#это_база
Атрибут __context__
Атрибут context используется в менеджерах контекста (context managers) и представляет контекст, в котором находится блок кода.
Он позволяет передавать произвольные данные между блоком with
и методами enter
/exit
менеджера контекста.
В примере при входе в блок with
создается объект MyContext
и его атрибут value
передается в переменную context
с помощью метода enter
.
При выходе из блока метод exit
имеет доступ к атрибуту value
через self.context
и используется для "чистых" операций.
Метод __subclasshook__
Метод subclasshook используется для определения, является ли один класс подклассом другого. Он вызывается при проверке isinstance()
и issubclass()
для определения отношения наследования между классами.
Этот метод позволяет настроить поведение этих функций для пользовательских классов.
В примере метод subclasshook
класса B
проверяет, есть ли у подкласса метод print_value
. Если да, то возвращает True
, что позволяет считать его подклассом B
.
#вопросы_с_собеседований
Что такое MQ?
MQ (Message Queue) — очередь сообщений, это паттерн asynchronous messaging, который позволяет обмениваться сообщениями между распределенными компонентами приложения.
Основные преимущества использования MQ:
Асинхронность — отправитель и получатель не зависят друг от друга.
Отказоустойчивость — сообщения не теряются при сбоях.
Масштабируемость — легко добавлять новых производителей и потребителей.
Сглаживание пиковой нагрузки — очередь позволяет буферизовать сообщения.
MQ широко используется для интеграции распределенных систем, построения микросервисных архитектур.
Популярные реализации MQ: RabbitMQ, Kafka, ActiveMQ.
Метод math.perm()
Метод math.perm() вычисляет перестановки — число способов расположения n элементов по m. Он находится в модуле math
.
Метод принимает два обязательных аргумента: n
— общее количество элементов и m
— количество элементов в подмножестве. Возвращает целое число — количество перестановок.
Если n < m
, вернет 0
.
В примере вычисляются перестановки из 5 элементов по 3.
То есть сколько способов выбрать подмножество из 3 элементов из множества размером 5.
#это_база
urllib3
urllib3 — это библиотека для отправки HTTP-запросов, она позволяет легко и удобно делать запросы к веб-сервисам и API.
Основные возможности urllib3
:
— Поддержка HTTP и HTTPS протоколов.
— Кэширование соединений для повышения производительности.
— Автоматическое развертывание соединения по SSL.
— Поддержка куки, прокси, редиректов.
— Встроенная поддержка gzip
и deflate
.
— Пулинг соединений и многопоточность.
В примере создается экземпляр PoolManager
из urllib3
, который управляет пулом соединений.
Делается GET
запрос к httpbin.org/ip
, который возвращает IP адрес клиента.
Ответ записывается в переменную r
, из которой берется тело ответа r.data
и выводится на печать.
⚡️В 2023 году уже не найти работу с большим доходом, для обычных людей.
Всё потому что, необходимо разбираться в IT и искусственном интеллекте.
TECHNOHYPE — это проект, который ежедневно публикует информацию о новых разработках и открытиях. А самое главное, учит применять их в жизни.
❗️Также для наших подписчиков полностью бесплатный ChatGPT бот, который:
→ Даст ответ на любой вопрос
→ Сделает за вас 90 % работы
→ Переведёт текст, как настоящий человек
Если хотите быть в тренде, то этот канал для вас: @techno_hype_official