NetworkX
NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.
Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
#для_продвинутых
Ищем 100 человек, которые пройдут 3 курса по IT бесплатно и дадут обратную связь!
Старая цена - 23 500 руб
Цена для тестовой группы - 0 руб 💯
👉🏻Получить курсы тут
Реклама. ООО "ГикБреинс".
ИНН 7726381870
#Вопросы_с_собеседования
🔔 Напишите функцию на Python, которая принимает корень бинарного дерева поиска и целое число k, и возвращает k-ый по величине элемент в этом дереве.
Условия:
Бинарное дерево поиска (BST) - это дерево, в котором каждый узел имеет не более двух детей, и для каждого узла его левое поддерево содержит только узлы с ключами, меньшими чем ключ узла, а правое поддерево - только узлы с ключами, большими чем ключ узла.
k всегда валидно и находится в пределах количества узлов в дереве.
Объяснение:
Функция kthSmallest принимает корень бинарного дерева и число k.
Вложенная функция inorder реализует обход дерева в порядке "лево-корень-право", что гарантирует получение элементов в порядке возрастания.
Рекурсивный вызов inorder собирает значения узлов в список.
Функция возвращает k-1 элемент этого списка, так как индексация в Python начинается с нуля.
Этот вопрос проверяет знания кандидата в области алгоритмов обхода дерева, рекурсии и понимания структур данных, таких как бинарные деревья поиска.
Как разработчику увеличить доход?
Расширять список своих скиллов! Начать можно с бесплатного открытого урока «Шаблон проектирования ""Цепочка обязанностей""» от OTUS.
На вебинаре:
- рассмотрим превращение элементов поведения в объекты;
- проанализируем его на конкретном примере, формируя диаграмму классов;
- узнаем, как использовать шаблон «Цепочка обязанностей» для решения различных задач;
- покажем, как создать классы обработчиков и связать их в цепочку так, чтобы сообщение было обработано последовательно каждым обработчиком;
- разберем возможности настройки приоритета и условий обработки определенных сообщений.
Занятие пройдёт 5 декабря в 20:00 мск в рамках курса «Архитектура и шаблоны проектирования». После урока вы сможете продолжить обучение в рассрочку.
Для бесплатного участия и получения записи пройдите короткое тестирование прямо сейчас: https://otus.pw/hze4/Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Библиотека Qiskit
Qiskit — это открытая библиотека для работы с квантовыми вычислениями в Python. Она предоставляет инструменты для создания, симуляции и запуска квантовых программ на реальных квантовых устройствах.
Вы можете изучить документацию Qiskit для получения более подробной информации и примеров использования.
#для_продвинутых
Напишите функцию на Python, которая принимает строку и возвращает словарь, содержащий количество вхождений каждого слова в строке. Считайте, что слова в строке разделяются пробелами, и игнорируйте знаки препинания.
Для начала используем метод translate
для удаления знаков препинания из исходной строки. Модуль string
предоставляет строку punctuation
, содержащую все знаки препинания. Метод translate
использует таблицу перевода для удаления указанных символов.
Затем приводим текст к нижнему регистру, чтобы учесть все слова независимо от регистра. После этого используем метод split()
для разделения текста на список слов.
Создаём пустой словарь word_count
для подсчета вхождений каждого слова. Затем, используя цикл for
, проходимся по списку слов и обновляем счетчик в словаре. Если слово уже есть в словаре, увеличиваем его счетчик на 1; если нет, добавляем его в словарь с начальным счетчиком 1.
Наконец, возвращаем словарь word_count
, который содержит количество вхождений каждого слова в тексте.
#Вопросы_с_собеседования
😀 Пятничный мем
Админу показалось смешным, надеюсь, хотя бы кому-нибудь из вас тоже
Erid: 2SDnjectKha
Жизнь дороже и важнее уборки
Посчитайте, сколько времени вы тратите на уборку?
А теперь представьте, насколько больше в вашей жизни могло бы быть отдыха, хобби, приятных встреч и сэкономленных сил, если бы полы были всегда чистыми 🤩
Сэкономить время и силы помогут умные пылесосы iRobot :
👉 Уникальная технология по сбору грязи, волос и шерсти животных
👉 Мощная уборка без намокания ковров
👉 Противоаллергенные мешки для мусора улавливают и удерживают до 99% пыльцы и плесневых спор
👉 Логичная, целенаправленная, умная уборка
Наслаждайтесь своим свободным временем и чистотой дома!
Выберите себе умного помощника на iRobot
Реклама ООО "Компания «НоркПалм»" ИНН 7729506101
SymPy
SymPy — это библиотека символьной математики для языка программирования Python. В отличие от численных вычислений, символьная математика работает с математическими объектами, такими как переменные, выражения и уравнения, в абстрактной форме, а не приближенно численно.
SymPy позволяет проводить символьные вычисления, что означает, что вы можете работать с математическими выражениями в их аналитической форме.
#для_начинающих
Оператор pass
В Python оператор pass
представляет собой пустой оператор, который не выполняет никаких действий. Он часто используется там, где синтаксически требуется presense of code (т.е. наличие кода), но непосредственное выполнение каких-либо действий не требуется.
В примере на картинке pass
используется в блоке if
, чтобы указать, что в случае, если условие True
, необходимо просто перейти к следующему блоку кода.
Также pass может использоваться в определениях функций, классов и других местах, где требуется наличие кода, но конкретные действия не определены.
#для_начинающих
Алгоритмы в графике
⭐️ Сортировки
⭐️ Поиск
⭐️ Сжатие
⭐️ Криптография
⭐️ Алгоритмы на графах
Я бывший банкир и у меня 22 банковские карты. Но не торопитесь смеяться. Потому что за 6 лет работы я научился комбинировать карты разных банков так, чтобы они пассивно приносили мне по 20-25 тысяч каждый месяц. Знаете, как?
Например, вы можете выпустить себе несколько бесплатных кредиток со съёмными лимитами, без процентов снимать с них деньги, и в наглую класть их на накопительные счета под 15-17% — за счёт чего с пачки бесплатных карт вам будет прилетать по 20-25 тысяч каждый месяц.
Таких схем на самом деле десятки — просто о них почти никто не знает. И если вы не хотите в буквальном смысле терять свою вторую зарплату — подпишитесь на Беспощадный Банкстер. Там я даю все наводки, учу собирать по 10 тысяч в месяц на тестировании карт, зарабатывать по 25к на пачке бесплатных кредиток, да и в конце концов — навсегда отключать комиссии по картам, убирать плату за обслуживание, и даже проценты по кредитам. Поверьте, у вас буквально появится вторая зарплата — и вы её уже никогда не потеряете.
Модуль transliterate
В Python существует несколько библиотек для транслитерации текста, и одной из них является библиотека transliterate. Этот модуль позволяет переводить текст из одной письменности в другую, например, из кириллицы в латиницу.
Для использования библиотеки transliterate сначала нужно установить её с помощью pip:
pip install transliterate
Как работает хэш-таблица?
Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:
— Хэширование ключей: Когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код - это целое число, представляющее "отпечаток" ключа.
— Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого "ячейки" хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.
— Поиск значения: При поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей "ячейки" в хэш-таблице. Затем происходит поиск значения внутри этой "ячейки" (или цепочки).
#для_продвинутых
Как разрабатывать Telegram ботов? Как парсить сайты? Как создавать сайты на Python?
🐍 Укус питона - канал о программировании на языке Python. Активные беседы, тематические уроки и лайфхаки. @byteofpython
Подписывайся, у нас живой чат и годный контент, мы собираем настоящее комьюнити🔥
Композиция (ассоциация) классов
Композиция (ассоциация) классов — это способ связи объектов разных классов. Позволяет создавать сложные объекты из более простых.
Один класс содержит объект другого класса как атрибут, при этом внутренний объект является частью внешнего.
Внешний класс не наследует функционал внутреннего, в отличие от наследования, просто использует его.
Композиция классов позволяет создавать сложные объекты из простых классов и подходит для моделирования реальных взаимосвязей.
Переводим текст с английского на русский язык и преобразуем его в голосовое сообщение
Для перевода текста с английского на русский и преобразования его в голосовое сообщение, вы можете использовать библиотеки googletrans для перевода и gTTS (Google Text-to-Speech) для синтеза речи.
pip install googletrans==4.0.0-rc1
pip install gtts
argcomplete
argcomplete — это библиотека для автоматического дополнения аргументов командной строки в Python. Это может быть полезно при разработке сценариев командной строки, когда вы хотите, чтобы ваш скрипт предлагал возможные аргументы и значения при нажатии клавиши Tab.
argcomplete поддерживает не все оболочки по умолчанию, и вам может потребоваться настроить ее соответствующим образом для вашей среды выполнения.
#для_продвинутых
__subclasshook____subclasshook__
— это метод, который можно определить в классе, чтобы влиять на процесс проверки, является ли данный класс подклассом другого класса. Этот метод обычно используется вместе с метаклассами и полезен, например, при создании абстрактных базовых классов.
Протокол __subclasshook__
предоставляет способ определить подходит ли класс для использования в качестве подкласса заданного класса. Если метод возвращает True
, то класс считается подклассом. Если метод возвращает NotImplemented
, то это означает, что проверка должна быть выполнена с использованием стандартных правил.
#для_продвинутых
Twisted
Twisted — это асинхронный фреймворк для разработки сетевых приложений на языке Python. Он предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.
Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные.
Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения.
Обратите внимание, что использование Twisted может потребовать времени для изучения, так как он предоставляет множество возможностей для работы с сетевыми протоколами и асинхронным программированием.
#для_продвинутых
🔥 Хардовый тест для разработчиков 🔥
📕 Ответьте на 9 вопросов за 20 мин и проверьте, насколько вы готовы к обучению на курсе - «Архитектура и шаблоны проектирования»
💻 Научитесь применять шаблоны проектирования в разработках! Благодаря этому навыку вы сможете писать чистый код, экономить время на разработке и быстро «пересаживаться» на любой язык программирования.
🏵 Ждем всех, кто хочет вырасти до Middle+ разработчика или архитектора ПО!
👉 ПРОЙТИ ТЕСТ https://otus.pw/B55l/
💣 Пройдете тест, получите демо-ролик о занятиях на курсе и Welcome-скидку.
✅ Также вам откроется доступ к открытым урокам курса.Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
dict.get()dict.get()
— это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]
), метод get()
предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.
Синтаксис метода get()
выглядит так:value = dict.get(key, default)
key
: Ключ, по которому производится поиск в словаре.default
(необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default
не указан, и ключ не найден, метод вернет None
.
#для_начинающих
Оператор raise
Оператор raise
используется для возбуждения исключения (exception). Он позволяет программистам явным образом указывать, что в программе произошла какая-то ошибка или неожиданное условие, и вызывать соответствующее исключение.
Синтаксис оператора raise
выглядит следующим образом:
raise [Exception [, args [, traceback]]]
Exception
— это тип исключения, которое вы хотите возбудить, а args
и traceback
— дополнительные аргументы, связанные с исключением.raise
без аргументов, чтобы повторно возбудить текущее исключение внутри блока except
. Это может быть полезно, если вы хотите добавить дополнительную информацию к исключению или изменить его тип.Python meetup - Online
✔️ Экономия железа для МЛ-моделей в продакшен — Олег Бугримов, Тимлид, Авито
У нас десятки сервисов с применением МЛ. Вопрос оптимального использования железа стоит очень остро, мы успешно решаем эту проблему с помощью нашей библиотеки aqueduct. В этом докладе расскажу как мы решаем проблему в общем и что появилось нового за последний год разработки.
✔️ INSTLD: когда управление зависимостями проще быть уже не может — Евгений Блинов, Руководитель команды, VK
Краткий рассказ о возможностях библиотеки / cli-инструмента INSTLD.
✔️ How to build dating application with python — Константин Березин, Backend developer, Emet
Как создать backend для приложения для знакомств посредством python
✅ Регистрация на мероприятие
✅ Телеграмм канал с анонсами митапов
Реклама. ООО "ЭВРОНЕ.РУ". ИНН 3663057399.
igraphigraph
— это библиотека для работы с графами (сетями) в Python. Она предоставляет инструменты для создания, анализа и визуализации графов. Если у вас нет установленной библиотеки igraph
, вы можете установить её с помощью pip:
pip install python-igraph
igraph
и его возможностях можно найти в официальной документации.Duck typing
Duck typing — это парадигма в программировании, используемая в языках с динамической типизацией, таких как Python. Суть duck typing заключается в том, что тип объекта определяется его поведением (методами и свойствами), а не явно указанным интерфейсом или базовым классом.
В Python duck typing часто выражается фразой: «Если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.»
#для_продвинутых
os.rename()
В Python функция os.rename()
используется для переименования файла или директории в операционной системе. Она входит в модуль os
.
#для_начинающих
collections.Countercollections.Counter
— это специальный класс, предоставляющий удобный способ подсчета хэшируемых объектов. Он является подклассом словаря и предоставляет функциональность для подсчета количества вхождений каждого элемента в последовательность (список, кортеж, строку и т.д.).
#для_продвинутых
Модуль warnings
Модуль warnings
предоставляет возможность управления предупреждениями, которые могут быть выведены во время выполнения программы.
Модуль warnings
полезен, когда необходимо предупредить пользователя о каком-либо условии в программе и это условие не требует создания исключения и завершения программы.
Кроме того, вы можете настроить различные параметры для управления предупреждениями, такие как фильтрация предупреждений определенного типа или их преобразование в ошибки. Подробнее об этом можно узнать в документации.
#для_начинающих