seniorpy | Unsorted

Telegram-канал seniorpy - Senior Python Developer

54326

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

Subscribe to a channel

Senior Python Developer

Модуль transliterate

В Python существует несколько библиотек для транслитерации текста, и одной из них является библиотека transliterate. Этот модуль позволяет переводить текст из одной письменности в другую, например, из кириллицы в латиницу.

Для использования библиотеки transliterate сначала нужно установить её с помощью pip:

pip install transliterate


Библиотека transliterate поддерживает несколько письменностей, так что вы можете использовать её для транслитерации текста между различными языками.

#для_начинающих

Читать полностью…

Senior Python Developer

os.rename()

В Python функция os.rename() используется для переименования файла или директории в операционной системе. Она входит в модуль os.

#для_начинающих

Читать полностью…

Senior Python Developer

igraph

igraph — это библиотека для работы с графами (сетями) в Python. Она предоставляет инструменты для создания, анализа и визуализации графов. Если у вас нет установленной библиотеки igraph, вы можете установить её с помощью pip:

pip install python-igraph


Более подробную информацию о igraph и его возможностях можно найти в официальной документации.

#для_начинающих

Читать полностью…

Senior Python Developer

SymPy

SymPy — это библиотека символьной математики для языка программирования Python. В отличие от численных вычислений, символьная математика работает с математическими объектами, такими как переменные, выражения и уравнения, в абстрактной форме, а не приближенно численно.

SymPy позволяет проводить символьные вычисления, что означает, что вы можете работать с математическими выражениями в их аналитической форме.

#для_начинающих

Читать полностью…

Senior Python Developer

Заходят как-то прогер, девопс и тестировщик в канал IT База Знаний...

А там:

😉 крутое IT-сообщество, с которым хочется расти;
материалы и туториалы, рассказанные доступным языком, необходимые для повышения квалификации и профессионализма;
🤩 актуальные новости и юмор из мира высоких технологий, чтобы быть в курсе последних событий.

Подписывайся на канал для программистов без снобизма!🥳

/channel/+TFLR3ot7NEQwNTEy

Читать полностью…

Senior Python Developer

Напишите функцию на Python, которая принимает строку и возвращает словарь, содержащий количество вхождений каждого слова в строке. Считайте, что слова в строке разделяются пробелами, и игнорируйте знаки препинания.

Для начала используем метод translate для удаления знаков препинания из исходной строки. Модуль string предоставляет строку punctuation, содержащую все знаки препинания. Метод translate использует таблицу перевода для удаления указанных символов.

Затем приводим текст к нижнему регистру, чтобы учесть все слова независимо от регистра. После этого используем метод split() для разделения текста на список слов.

Создаём пустой словарь word_count для подсчета вхождений каждого слова. Затем, используя цикл for, проходимся по списку слов и обновляем счетчик в словаре. Если слово уже есть в словаре, увеличиваем его счетчик на 1; если нет, добавляем его в словарь с начальным счетчиком 1.

Наконец, возвращаем словарь word_count, который содержит количество вхождений каждого слова в тексте.

#Вопросы_с_собеседования

Читать полностью…

Senior Python Developer

Twisted

Twisted — это асинхронный фреймворк для разработки сетевых приложений на языке Python. Он предоставляет реализацию множества протоколов, таких как TCP, UDP, SSL/TLS, DNS, и других, используя асинхронный стиль программирования.

Код выше создает TCP-сервер, прослушивающий порт 1234, и при подключении клиента создает экземпляр MyProtocol, который обрабатывает данные в методе dataReceived. В приведенном примере, сервер просто отправляет обратно полученные данные.

Twisted также предоставляет возможности для работы с асинхронными задачами, таймерами, и другими асинхронными концепциями. Это позволяет создавать эффективные и отзывчивые сетевые приложения.

Обратите внимание, что использование Twisted может потребовать времени для изучения, так как он предоставляет множество возможностей для работы с сетевыми протоколами и асинхронным программированием.

#для_продвинутых

Читать полностью…

Senior Python Developer

__subclasshook__

__subclasshook__ — это метод, который можно определить в классе, чтобы влиять на процесс проверки, является ли данный класс подклассом другого класса. Этот метод обычно используется вместе с метаклассами и полезен, например, при создании абстрактных базовых классов.

Протокол __subclasshook__ предоставляет способ определить подходит ли класс для использования в качестве подкласса заданного класса. Если метод возвращает True, то класс считается подклассом. Если метод возвращает NotImplemented, то это означает, что проверка должна быть выполнена с использованием стандартных правил.

#для_продвинутых

Читать полностью…

Senior Python Developer

Напишите функцию на Python, которая принимает корень бинарного дерева поиска и целое число k, и возвращает k-ый по величине элемент в этом дереве.

Условия:
Бинарное дерево поиска (BST) - это дерево, в котором каждый узел имеет не более двух детей, и для каждого узла его левое поддерево содержит только узлы с ключами, меньшими чем ключ узла, а правое поддерево - только узлы с ключами, большими чем ключ узла.
k всегда валидно и находится в пределах количества узлов в дереве.

Объяснение:
Функция kthSmallest принимает корень бинарного дерева и число k.
Вложенная функция inorder реализует обход дерева в порядке "лево-корень-право", что гарантирует получение элементов в порядке возрастания.
Рекурсивный вызов inorder собирает значения узлов в список.
Функция возвращает k-1 элемент этого списка, так как индексация в Python начинается с нуля.


Этот вопрос проверяет знания кандидата в области алгоритмов обхода дерева, рекурсии и понимания структур данных, таких как бинарные деревья поиска.

Читать полностью…

Senior Python Developer

Переводим текст с английского на русский язык и преобразуем его в голосовое сообщение

Для перевода текста с английского на русский и преобразования его в голосовое сообщение, вы можете использовать библиотеки googletrans для перевода и gTTS (Google Text-to-Speech) для синтеза речи.

pip install googletrans==4.0.0-rc1
pip install gtts

Читать полностью…

Senior Python Developer

NetworkX

NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.

Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.

#для_продвинутых

Читать полностью…

Senior Python Developer

Думаете о карьере в сфере IT — начните с Python. Этот язык рекомендуют в качестве первого языка программирования, и для начала обучения вам не понадобятся технические знания и навыки.

Запишитесь на бесплатный курс Нетологии «Основы Python: создаём телеграм-бота». Программа акцентирована на практике. За 5 занятий вы погрузитесь в логику и синтаксис языка, изучите основные инструменты для написания кода. С нуля разработаете планировщик задач и создадите полезного Telegram-бота, которым сможет пользоваться кто угодно.

Попробуйте

Реклама. ООО “Нетология“. Erid LatgBdNsp

Читать полностью…

Senior Python Developer

Хочешь пройти путь от Джуна до Мидла и повысить зарплату и навыки?

Приходи на бесплатный Тестовый урок — оценку твоих знаний проведёт опытный Python-разработчик.

Мы дадим максимум пользы за 40 минут. Что нужно сделать?

1) Запишись на бесплатный тестовый урок в боте
2) Реши задание (даже если раньше никогда ничего не кодил)
3) Получи обратную связь
4) Построй траекторию обучения и спланируй своё развитие в IT на ближайший год
5) В обучение включена реальная стажировка!

Записаться на Тестовый урок можно в боте после прохождения небольшого опроса, он займёт 1 минуту.

Реклама. ООО «ДЕВМАН»
ИНН: 5001149108.
ОГРН: 1225000116131.
erid: 2SDnjd2v8mv

Читать полностью…

Senior Python Developer

Быстрый офер в Яндекс для бэкенд-разработчиков

Мечтали о возможности самим выбрать команду, в которой будете работать? Приходите в Яндекс за офером! На мероприятии по быстрому найму через MultiTrack 27–28 января можно получить приглашение за два дня, несколько недель поработать в трёх разных командах, а затем выбрать проект, с которым свяжете будущее.

План простой: до 24 января решите задачи в Контесте, 27 января пройдите две технические секции, а 28-го получите офер и знакомьтесь с командами. Мы ждём бэкендеров на C++, Python, Java и Go, которые занимаются коммерческой разработкой больше пяти лет.

Регистрируйтесь и приходите!

Читать полностью…

Senior Python Developer

Объясните, что делает данная функция (первая картинка), оптимизируйте ее, и напишите тесты для проверки ее корректности.

Что делает функция:

Данная функция some_function принимает список чисел input_list, проходится по каждому элементу в списке, проверяет, является ли элемент четным числом, и если да, то добавляет квадрат этого числа в новый список result. В конце функция возвращает этот новый список.

Оптимизация кода:
Мы можем использовать list comprehension для более компактной записи этой функции:

def optimized_function(input_list):
return [item ** 2 for item in input_list if item % 2 == 0]


Также, если вам необходимо, чтобы функция работала для любого итерируемого объекта, вы можете добавить проверку на четность элемента и заменить на использование генератора:

def general_function(iterable):
return (item ** 2 for item in iterable if item % 2 == 0)


Тестирование:
Теперь напишем тесты для проверки корректности функции. Мы можем использовать библиотеку unittest для этого (вторая картинка).
#вопросы_с_собеседований

Читать полностью…

Senior Python Developer

📣 Уважаемые Python'исты, у меня для вас важная информация!

Представляю вашему вниманию наш канал с вакансиями по Python! Админы вручную просматривают, отбирают и публикуют самые свежие и интересные вакансии, связанные с этим языком программирования.

🐍 Канал специализируется исключительно на Python

📆Вакансии публикуются каждый день

🔝 В результате отбора выкладываются только топовые вакансии, которые будет интересны и джуну, и сеньору!

Python Вакансии l Работа Питон - подписывайтесь, и заветный оффер не заставит вас долго ждать!

Реклама. Клюев И.К.
ИНН 471421081281
erid 2VtzqwPPGzB

Читать полностью…

Senior Python Developer

Duck typing

Duck typing — это парадигма в программировании, используемая в языках с динамической типизацией, таких как Python. Суть duck typing заключается в том, что тип объекта определяется его поведением (методами и свойствами), а не явно указанным интерфейсом или базовым классом.

В Python duck typing часто выражается фразой: «Если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.»

#для_продвинутых

Читать полностью…

Senior Python Developer

Оператор pass

В Python оператор pass представляет собой пустой оператор, который не выполняет никаких действий. Он часто используется там, где синтаксически требуется presense of code (т.е. наличие кода), но непосредственное выполнение каких-либо действий не требуется.

В примере на картинке pass используется в блоке if, чтобы указать, что в случае, если условие True, необходимо просто перейти к следующему блоку кода.

Также pass может использоваться в определениях функций, классов и других местах, где требуется наличие кода, но конкретные действия не определены.

#для_начинающих

Читать полностью…

Senior Python Developer

Оператор raise

Оператор raise используется для возбуждения исключения (exception). Он позволяет программистам явным образом указывать, что в программе произошла какая-то ошибка или неожиданное условие, и вызывать соответствующее исключение.

Синтаксис оператора raise выглядит следующим образом:

raise [Exception [, args [, traceback]]]


Где Exception — это тип исключения, которое вы хотите возбудить, а args и traceback — дополнительные аргументы, связанные с исключением.

Можно также использовать оператор raise без аргументов, чтобы повторно возбудить текущее исключение внутри блока except. Это может быть полезно, если вы хотите добавить дополнительную информацию к исключению или изменить его тип.

#для_начинающих

Читать полностью…

Senior Python Developer

dict.get()

dict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]), метод get() предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.

Синтаксис метода get() выглядит так:

value = dict.get(key, default)

key: Ключ, по которому производится поиск в словаре.
default (необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default не указан, и ключ не найден, метод вернет None.

#для_начинающих

Читать полностью…

Senior Python Developer

🐍 Не просто сложно, а очень сложно... пройти хардкорный тест по Python от OTUS.

Ответьте на 20 вопросов и проверьте, насколько вы готовы к обучению на продвинутом курсе  «Python Developer. Professional» от OTUS.

🔹На обучении вас ждет продвинутые темы и практика на «боевых» задачах уровня Middle+

🔹Проектная работа, которой можно показать свой уровень на собеседовании

Овладейте лучшими практиками и навыками Python для уверенного карьерного роста 

Специально для подписчиков спец скидка 10% на приобретения курса по промокоду python10

 👉 Пройти тест 
https://otus.pw/Vp5N/?erid=LjN8KMW6S

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Senior Python Developer

Библиотека Qiskit

Qiskit — это открытая библиотека для работы с квантовыми вычислениями в Python. Она предоставляет инструменты для создания, симуляции и запуска квантовых программ на реальных квантовых устройствах.

Вы можете изучить документацию Qiskit для получения более подробной информации и примеров использования.

#для_продвинутых

Читать полностью…

Senior Python Developer

argcomplete

argcomplete — это библиотека для автоматического дополнения аргументов командной строки в Python. Это может быть полезно при разработке сценариев командной строки, когда вы хотите, чтобы ваш скрипт предлагал возможные аргументы и значения при нажатии клавиши Tab.

argcomplete поддерживает не все оболочки по умолчанию, и вам может потребоваться настроить ее соответствующим образом для вашей среды выполнения.

#для_продвинутых

Читать полностью…

Senior Python Developer

⚠️  Снижение размерности в ML – что это такое и как с этим работать?

Расскажет Мария Тихонова – Senior Data Scientist в «SberDevices» и преподаватель ВШЭ. Встречаемся на бесплатном практическом уроке «Метод главных компонент для снижения размерности» от OTUS.

• На занятии вы узнаете основные подходы к задаче снижения размерности в ML

• Изучите метод главных компонент для снижения размерности и научитесь применять алгоритм PCA на практике.

Встречаемся 22 января в 18:00 мск в рамках курса «Machine Learning. Professional».

Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить список вопросов и ответов для прохождения интервью

👉Регистрация
https://otus.pw/PCd7/?erid=LjN8K7STP

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Senior Python Developer

Начните изучать Python без лишних рисков.

Записывайтесь на 14-дневный подготовительный курс по Python-разработке.🐍

Всего 990 ₽ и ваши карьерные перспективы станут яснее.

Более 70 уроков, практические задания, помощь наставника, а как итог – собственная программа и четкое понимание, в правильном ли IT-направлении вы двигаетесь.

Начинаем 23 января, регистрируйтесь уже сейчас!

Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8KTFVF

Читать полностью…

Senior Python Developer

Как получить размер папки с помощью Python?

Чтобы получить размер каталога, пользователь должен пройти по всей папке и добавить размер каждого файла, присутствующего в этой папке, и покажет общий размер папки.

Другие способы решить данную задачу можно найти здесь.

Читать полностью…

Senior Python Developer

У вас есть список словарей, представляющих информацию о книгах. Каждый словарь содержит поля «название» (title), «автор» (author) и «год выпуска» (year). Напишите функцию на Python, которая принимает такой список книг и возвращает словарь, в котором ключами являются года выпуска, а значениями — списки книг, выпущенных в этот год. Книги в каждом списке должны быть упорядочены по алфавиту по названию.

Решение:

1. Используем defaultdict(list), чтобы автоматически создавать пустой список для каждого года.
2. Книги сортируем по названию перед группировкой, чтобы списки книг в каждом году были упорядочены по алфавиту.
3. Проходим по отсортированным книгам и добавляем их в соответствующие списки годов в словаре.

#вопросы_с_собеседований

Читать полностью…

Senior Python Developer

Объясните, что такое обработка исключений в Python, и предоставьте пример кода, демонстрирующий использование блока try-except.

Обработка исключений в Python позволяет программисту обрабатывать и управлять ошибками в коде. Блок try содержит код, который может вызвать исключение. Если исключение происходит, выполнение кода переходит к блоку except, который содержит обработчики конкретных типов исключений.
Блок else выполняется, если в блоке try не возникло исключение.
Блок finally выполняется всегда, независимо от того, произошло исключение или нет. Этот блок используется, например, для освобождения ресурсов.

В примере на картинке в функции divide_numbers представлен пример деления двух чисел с использованием блока try-except. В случае деления на ноль выводится сообщение об ошибке. Если переданы нечисловые значения, программа сообщает об ошибке типа. В блоке else выводится сообщение об успешном выполнении операции, а в блоке finally выводится сообщение, которое всегда выполняется.

Читать полностью…

Senior Python Developer

💻 Определяем ip адрес своего компьютера

Этот код использует библиотеку requests для отправки HTTP-запроса к веб-сервису ipify, который предоставляет API для определения публичного IP-адреса пользователя. Код написан в форме функции get_public_ip, что делает его удобным для повторного использования.

Использование блока try-except обеспечивает обработку исключений, которые могут возникнуть при запросе (например, проблемы с подключением к интернету). Если запрос успешен, функция возвращает IP-адрес, иначе возвращает сообщение об ошибке.

Читать полностью…

Senior Python Developer

Как парсить данные сторонних сайтов без проблем? Крутим прокси

Если вы занимались сбором данных во «внешнем мире», то знаете, как этот мир жесток. Парсер сторонних сайтов может спокойно наткнуться на блокировки, задержки и другие проблемы, которые замедляют работу или вообще делают парсинг невозможным.

Ребята из финтех-компании Точка сделали свой инструмент, который помогает избежать лимитов по IP и капчи — единый кастомный прокси-сервер со своей логикой ротации. О том, как это делали и как работает инструмент, читайте на Хабре.

Что ещё внутри:

— Как не получились отдельные Python-модули.
— Что такое MITM (этакий хакерский вид атаки) и зачем он тут нужен.
— Схемы запросов и параметры прокси-сервера.

Читать

Читать полностью…
Subscribe to a channel