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

44 575
Підписники
Немає даних24 години
-907 днів
-55930 день
Архів дописів
Фото недоступнеДивитись в Telegram
Эффективный трюк, чтобы узнать, является ли число степенью двойки
Обычный метод деления имеет сложность O(logN), но эту задачу можно решить со сложностью O(v), где v — количество цифр числа в двоичной форме.
Подробнее ознакомиться с тем как работает данный трюк можно здесь.
Фото недоступнеДивитись в Telegram
#вопросы_с_собеседований
Объясните функции help() и dir() в Python.
Функция help() отображает строку документации и справку для ее аргумента. Пример по при вызове с функцией copy на картинке.
Функция dir() отображает все члены объекта (любого типа). Например:
dir(copy.copy)
# ['__annotations__', '__call__', '__class__', '__closure__', ...00:19
Відео недоступнеДивитись в Telegram
tqdm
Отличный инструмент для подключения диаграммы выполнения вашей программы. Название происходит от арабского слова "taqadum", что означает "прогресс".
Для создания прогресс-бара необходим лишь один вызов функции:
from tqdm import tqdm
from tqdm.notebook import tqdm # для использования в Jupyter Notebook
for i in tqdm(range(10000)):
...
На гифке пример прогрессбара. В реальном времени показывается процент выполнения, визуальное представление, сколько итераций завершилось, скорость выполнения и ожидаемое время окончания, а сам модуль не требует никаких внешних библиотек.animation.gif.mp40.21 KB
Фото недоступнеДивитись в Telegram
Офер в Яндекс для опытных бэкендеров за два дня
15–16 февраля приглашаем бэкендеров с опытом работы от пяти лет получить офер в Яндекс через multitrack за 2 дня. Достаточно пройти несколько технических секции 15 февраля, чтобы уже 16-го получить офер и выбрать три команды, к которым вам было бы интересно присоединиться.
Как правило, за несколько собеседований сложно понять, подходит ли вам команда и наоборот. Multitrack позволит вам поработать в трёх разных командах Яндекса и выбрать подходящую. Вы сможете погрузиться в рабочие процессы, познакомиться с будущими коллегами и понять, с какими задачами и технологиями хотите работать.
Узнать подробности и зарегистрироваться.
Фото недоступнеДивитись в Telegram
Строим точечную диаграмму с помощью Python
Данная диаграмма используется для сравнения переменной по отношению к другим переменным. Она определяется как влияние одной переменной на другую. Данные представлены в виде набора точек.
Результат данного кода представлен в посте на картинке ниже.
Распределение памяти в Python: сколько и в каких случаях занимают типы данных
В этом материале разберем, как устроено выделение памяти под объекты в Python. Потом кратко о том, как работает очистка памяти от неиспользуемых объектов. И, наконец, о разнице в занимаемой памяти на примере типов list, dict и tuple.
Смотреть статью
Фото недоступнеДивитись в Telegram
FuzzyWuzzy
Множество раз вам могло прийти в голову реализовать “размытую” функцию поиска для вашей программы, которая в процентах может сравнивать строки. FuzzyWuzzy предоставляет готовое и лёгкое решение.
В первом примере кода на картинке с помощью
fuzz.ratio мы сравниваем две строки и получаем ответ 83, означающий, что они совпадают на 83%.
Если у вас есть список строк, и совпадения необходимо искать во всех строках, FuzzyWuzzy поможет выделить наиболее похожие. Это мы и делаем во втором примере, сравнивая строки data visualisation и custom behavior со строками из arr. При этом в функцию process.extract в качестве параметра также передаётся limit, задающий, сколько значений мы хотим получить.Фото недоступнеДивитись в Telegram
Узнай грейд и рыночную зарплату + получи план развития бесплатно
На связи ШОРТКАТ. Мы провели 300+ собеседований с менторами из бигтеха, собрали ключевые вопросы с собесов и сделали тест, который поможет оценить навыки.
Вот как это работает:
1. Ты проходишь экспресс-тест за 20 минут или его расширенную версию
2. Бронируешь звонок для презентации обратной связи по ответам — можем встретиться уже на следующий день!
3. К созвону проверим ответы, чекнем СV и на основе этого оценим твой грейд.
Ещё подскажем зарплату в рынке, построим план развития до следующего уровня и расскажем про наш новый продукт, который поможет получить выгодный оффер в 2025 году.
Переходи в бота и проходи тест бесплатно, а дальше расскажем, что и как 👉@shortcut_python_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqwA35MD
Фото недоступнеДивитись в Telegram
Функция monotonic()
Функция monotonic() модуля time возвращает значение, в долях секунды "монотонных" часов, то есть часов, которые не могут двигаться назад, т. е. не зависят от корректировки/обновления системных часов.
Контрольная точка возвращаемого значения не определена, поэтому допустима только разница между результатами последовательных вызовов.
Функция time.monotonic() идеально подходит для измерения времени выполнения программ большой длительности так как не зависит от корректировки системных часов.
Функция time.monotonic_ns() похожа на time.monotonic(), но возвращает время в наносекундах. Работает не на всех платформах.
Фото недоступнеДивитись в Telegram
Узнаём кодировку текста
Наверное, у всех были ситуации, когда вы открыли файл или получили ответ от сервера, а внутри оказывается набор странных символов в непонятной кодировке.
Пакет
chardet как раз был создан для работы с кодировками. Его метод detect выдает предполагаемую кодировку с точностью от 0 до 1.
В примере на картинке мы сделали запрос к серверу, получили ответ, взяли его содержимое и проверили кодировку через метод detect.Фото недоступнеДивитись в Telegram
Открываем веб-сайт в своем веб-браузере с помощью Python
Модуль webbrowser предоставляет высокоуровневый интерфейс, позволяющий отображать пользователям веб-документы.
Документация доступна по ссылке.
Фото недоступнеДивитись в Telegram
Перемешиваем буквы в строке
Строки неизменяемы в Питоне, поэтому чтобы перемешать буквы в словах текста, каждое слово преобразуются в список символов, список перемешивается, затем объединённые символы назад в список слов присваиваются.
Фото недоступнеДивитись в Telegram
LeetCode теперь в Telegram!
LeetCode — это сайт, который позволяет быстро готовиться к техническим собеседованиям по программированию. Там публикуются задачи с собеседований в Google и Microsoft с решениями.
Подписывайтесь: @leetcode
Фото недоступнеДивитись в Telegram
Получаем текущее имя пользователя в Python
Модуль ОС в Python предоставляет функции для взаимодействия с операционной системой. ОС входит в стандартные служебные модули Python. Этот модуль предоставляет портативный способ использования функций, зависящих от операционной системы.
Метод os.getlogin() в Python используется для получения имени пользователя, вошедшего в систему на управляющем терминале процесса.
Фото недоступнеДивитись в Telegram
Сортировка вставками
Как и сортировка выборкой, этот алгоритм сегментирует список на две части: отсортированную и неотсортированную. Алгоритм перебирает второй сегмент и вставляет текущий элемент в правильную позицию первого сегмента.
Предполагается, что первый элемент списка отсортирован. Переходим к следующему элементу, обозначим его х. Если х больше первого, оставляем его на своём месте. Если он меньше, копируем его на вторую позицию, а х устанавливаем как первый элемент.
Переходя к другим элементам несортированного сегмента, перемещаем более крупные элементы в отсортированном сегменте вверх по списку, пока не встретим элемент меньше x или не дойдём до конца списка. В первом случае x помещается на правильную позицию.
Время сортировки вставками в среднем равно O(n²), где n — количество элементов списка.
Фото недоступнеДивитись в Telegram
Преобразование WORD в PDF с помощью Python
Устали от необходимости использовать онлайн-конвертеры docx в PDF с дрянным интерфейсом и ограничениями на конвертацию, тогда начинайте пользоваться модулем docx2pdf.
Установка модуля -
pip install docx2pdf
Подробнее можно ознакомиться здесь.Фото недоступнеДивитись в Telegram
Учишь Python, но как дело доходит до собственного кода — всё, кирдык? 😥
На форумах только одно: «Больше практиковаться!» А толку? Ноль понимания и никакой поддержки от профи…
Плавали - знаем)) Поэтому специально для тебя - чат Python-щиков 🤝
Что получишь?
1️⃣ Сможешь задавать любые вопросы без страха и осуждения и получать ответы за минуты, а не часы поиска в инете
2️⃣ Регулярные плюшки в виде стримов от препода с 15-ти летним опытом
3️⃣ Общение с единомышленниками и заряд мотивации
➡️ А еще, забирай в закрепе БЕСПЛАТНЫЙ вводный курс по Python
Короче, всё для прокачки! Залетай к нам — ссылка на чат (тык)
Фото недоступнеДивитись в Telegram
Метод
get у словарей
У словарей есть метод get, который возвращает значение по переданному ключу.
Если такого ключа в словаре нет, исключение не выбрасывается, а возвращается значение по умолчанию, которое передаётся вторым аргументом, или же None, если второй аргумент не передан.
В примере мы не передаём второй аргумент, и в переменную name попадает None. Полезнее было бы передать ещё какую-нибудь строку в метод get, и она бы подставилась в name.Фото недоступнеДивитись в Telegram
Валидаторы данных
Не стоит писать собственные регулярные выражения для валидации почты и URL.
Модуль
validators даёт возможность использовать уже готовые валидаторы для самых распространенных задач. Документация доступна здесь.