seniorpy | Unsorted

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

43333

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

Subscribe to a channel

Senior Python Developer

Разница между двумя массивами

Выше представлена функция, которая возвращает разницу между двумя массивами. Создает set из b и сохраняет только те значения, которые не содержатся в b.

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

Senior Python Developer

Метод str.endswith()

Метод str.endswith() возвращает True, если строка str заканчивается указанным суффиксом suffix, в противном случае возвращает False.

Параметры:
suffix - объект поддерживающий итерацию (кортеж, символ или подстрока).
start - int, индекс начала поиска, по умолчанию 0, необязательно.
end - int, индекс конца поиска, по умолчанию len(str), необязательно.

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

Senior Python Developer

Метод str.isalnum()

Метод str.isalnum() возвращает True, если все символы в строке являются буквенно-цифровыми и есть хотя бы один символ, в противном случае False.

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

Senior Python Developer

Пакет schedule

schedule позволяет планировать выполнение каких-либо задач на определённый промежуток времени. В примере мы заставляем программу каждую секунду вызывать нашу функцию job.

Пакет мало весит, имеет ясный и интуитивно понятный функционал. К примеру, можно заставить запущенную программу делать что-то каждый день в определённый час, или каждый вторник.

Документация доступна по ссылке:
https://schedule.readthedocs.io/en/stable/

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

Senior Python Developer

Вебинар «Как стать облачным экспертом и повысить свою ценность на ИТ-рынке»
 
Узнайте, как повысить экспертность и увеличить свою ценность для ИТ-рынка. 
Дата и время: 14 февраля, 17:00. 
 
Основные темы вебинара 
·Российские облачные технологии 
·Облако в личных ИТ-проектах 
·Программа бесплатного курса Сloud Native DIY Advanced
·Продвижение в карьере 
·ИТ-сообщество 

Вебинар будет полезен ИТ-специалистам middle- и senior-уровня. 
 
Регистрируйтесь, если хотите разрабатывать стратегии миграции в облако, управлять ИТ-инфраструктурой как кодом, работать с базами данных и кластерами Kubernetes, использовать инструменты кибербезопасности для защиты инфраструктуры.   

Бонус для участников  

Зарегистрируйтесь на вебинар, пройдите курс и получите сертификат до 25 февраля, и мы выдадим вам мерч и бонусы на работу с VK Cloud, а также пригласим на экскурсию в первый офис VK в Доме Зингера в Санкт-Петербурге. 
 
Зарегистрироваться

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

Senior Python Developer

Узнаем сколько сейчас человеку лет по дате рождения с помощью Python

Для этого можно использовать модуль datetime.

Пример запуска программы:

Введите дату рождения (дд.мм.гггг): 01.01.1990
Вам сейчас 35 лет

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

Senior Python Developer

SQLAlchemy

Библиотека SQLAlchemy в Python используется для работы с базами данных.
Она предоставляет удобный и гибкий способ взаимодействия с различными типами баз данных, включая SQLite, MySQL, PostgreSQL и многие другие.

Одним из интересных и малоизвестных свойств SQLAlchemy является возможность использования выражений в качестве аргументов функций (например, case(), or_()). Это позволяет создавать гибкие запросы к базе данных, которые могут изменяться в зависимости от условий.

В этом примере мы создаем запрос, который возвращает все строки из таблицы users, у которых либо имя равно "John", либо возраст равен 25.

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

Senior Python Developer

Pyxel

Игровой движок для Python в стиле ретро. Благодаря своей простоте, вдохновленной старыми игровыми консолями (например, палитра состоит всего из 16 цветов, и только 4 звука могут быть проиграны одновременно), вы можете легко создавать игры в стиле пиксель-арт. Имеются инструменты для создания музыки и графики, а также поддержка ввода с джойстика.

Установка:

pip install -U pyxel

Github проекта: https://github.com/kitao/pyxel/blob/main/doc/README.ru.md

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

Senior Python Developer

Эффективный трюк, чтобы узнать, является ли число степенью двойки

Обычный метод деления имеет сложность O(logN), но эту задачу можно решить со сложностью O(v), где v — количество цифр числа в двоичной форме.

Подробнее ознакомиться с тем как работает данный трюк можно здесь.

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

Senior Python Developer

tqdm

Отличный инструмент для подключения диаграммы выполнения вашей программы. Название происходит от арабского слова "taqadum", что означает "прогресс".
Для создания прогресс-бара необходим лишь один вызов функции:

from tqdm import tqdm
from tqdm.notebook import tqdm # для использования в Jupyter Notebook

for i in tqdm(range(10000)):
...


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

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

Senior Python Developer

Строим точечную диаграмму с помощью Python

Данная диаграмма используется для сравнения переменной по отношению к другим переменным. Она определяется как влияние одной переменной на другую. Данные представлены в виде набора точек.

Результат данного кода представлен в посте на картинке ниже.

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

Senior Python Developer

FuzzyWuzzy

Множество раз вам могло прийти в голову реализовать “размытую” функцию поиска для вашей программы, которая в процентах может сравнивать строки. FuzzyWuzzy предоставляет готовое и лёгкое решение.

В первом примере кода на картинке с помощью fuzz.ratio мы сравниваем две строки и получаем ответ 83, означающий, что они совпадают на 83%.

Если у вас есть список строк, и совпадения необходимо искать во всех строках, FuzzyWuzzy поможет выделить наиболее похожие. Это мы и делаем во втором примере, сравнивая строки data visualisation и custom behavior со строками из arr. При этом в функцию process.extract в качестве параметра также передаётся limit, задающий, сколько значений мы хотим получить.

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

Senior Python Developer

Функция monotonic()

Функция monotonic() модуля time возвращает значение, в долях секунды "монотонных" часов, то есть часов, которые не могут двигаться назад, т. е. не зависят от корректировки/обновления системных часов.

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

Функция time.monotonic() идеально подходит для измерения времени выполнения программ большой длительности так как не зависит от корректировки системных часов.

Функция time.monotonic_ns() похожа на time.monotonic(), но возвращает время в наносекундах. Работает не на всех платформах.

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

Senior Python Developer

Открываем веб-сайт в своем веб-браузере с помощью Python

Модуль webbrowser предоставляет высокоуровневый интерфейс, позволяющий отображать пользователям веб-документы.

Документация доступна по ссылке.

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

Senior Python Developer

LeetCode теперь в Telegram!

LeetCode — это сайт, который позволяет быстро готовиться к техническим собеседованиям по программированию. Там публикуются задачи с собеседований в Google и Microsoft с решениями.

Подписывайтесь: @leetcode

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

Senior Python Developer

Хотите создать устойчивое к нагрузкам масштабируемое приложение?

Ключевой элемент при проектировании микросервисов – правильная интеграция брокеров сообщений с микросервисной архитектурой.

На открытом вебинаре «Как эффективно использовать брокеры сообщений в микросервисной архитектуре?» вы научитесь:

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

- Связывать различные слои приложений с помощью брокеров сообщений

- Проектировать решения с учётом масштабируемости и отказоустойчивости

- Эффективно управлять инфраструктурой сообщений RabbitMQ и Apache Kafka

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

Будет интересно: бэкенд и фулстек-разработчикам, системным аналитикам, девопс-инженерам.

Спикер: Сергей Прощаев, Java-разработчик в ПАО «Сургутнефтегаз».

Бонус! Всем участникам – скидка 5% и эксклюзивные материалы от спикера.

6 февраля, 19:00 МСК

Записаться - https://otus.pw/w53K8/?erid=2W5zFHDk1RS

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

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

Senior Python Developer

🛡Как защитить бизнес от утечек? Присоединяйтесь к открытому вебинару и узнайте, как выстроить многоуровневую защиту. 

5 февраля в 20:00 мск на открытом вебинаре вы узнаете:
- Предмет защиты и специфику среды. Кратко разберём, какие особенности Docker требуют особого внимания с точки зрения безопасности.
- Практические рекомендации по окружению. Поговорим о том, как правильно настраивать среду выполнения для Docker, чтобы минимизировать риски.
- Безопасную сборку образов. Узнаете, на что смотреть при создании Docker-образов и как не допустить критических уязвимостей на этапе сборки.

Регистрируйтесь на открытый урок в преддверие старта курса «Информационная безопасность. Professional». Все участники получат скидку на обучение!

👉Узнать больше: https://otus.pw/ImPa/?erid=2W5zFHou5eG 

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

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

Senior Python Developer

Как реализуется наследование классов в Python?

В приведенном ниже примере класс Audi является наследником Car. И вместе с этим наследуются методы экземпляра родительского класса.

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

Senior Python Developer

Генерируем произвольный адрес электронной почты

С помощью пакета mimesis мы можем с легкостью получить рандомный адрес электронной почты с определенным доменом(в нашем случае mаil. ru).

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

Senior Python Developer

Метод truncate()

Метод truncate() модуля os обрезает файл, соответствующий пути path, так, чтобы он имел длину не более length байтов.

Синтаксис:
os.truncate(path, length), где
path - str, путь в файловой системе до файла,
length - int, размер в байтах.

Подробнее можно почитать здесь.

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

Senior Python Developer

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

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

Смотреть статью

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

Senior Python Developer

Propan — Python фреймворк для написания микросервисов с использованием брокеров сообщений

Смотреть статью

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

Senior Python Developer

Генерируем произвольный адрес электронной почты

С помощью пакета mimesis мы можем с легкостью получить рандомный адрес электронной почты с определенным доменом(в нашем случае mаil. ru).

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

Senior Python Developer

#вопросы_с_собеседований
Объясните функции help() и dir() в Python.

Функция help() отображает строку документации и справку для ее аргумента. Пример по при вызове с функцией copy на картинке.

Функция dir() отображает все члены объекта (любого типа). Например:

dir(copy.copy)
# ['__annotations__', '__call__', '__class__', '__closure__', ...

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

Senior Python Developer

Офер в Яндекс для опытных бэкендеров за два дня

15–16 февраля приглашаем бэкендеров с опытом работы от пяти лет получить офер в Яндекс через multitrack за 2 дня. Достаточно пройти несколько технических секции 15 февраля, чтобы уже 16-го получить офер и выбрать три команды, к которым вам было бы интересно присоединиться.

Как правило, за несколько собеседований сложно понять, подходит ли вам команда и наоборот. Multitrack позволит вам поработать в трёх разных командах Яндекса и выбрать подходящую. Вы сможете погрузиться в рабочие процессы, познакомиться с будущими коллегами и понять, с какими задачами и технологиями хотите работать.

Узнать подробности и зарегистрироваться.

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

Senior Python Developer

Распределение памяти в Python: сколько и в каких случаях занимают типы данных

В этом материале разберем, как устроено выделение памяти под объекты в Python. Потом кратко о том, как работает очистка памяти от неиспользуемых объектов. И, наконец, о разнице в занимаемой памяти на примере типов list, dict и tuple.

Смотреть статью

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

Senior Python Developer

Узнай грейд и рыночную зарплату + получи план развития бесплатно

На связи shortcut_sh/videos">ШОРТКАТ. Мы провели 300+ собеседований с менторами из бигтеха, собрали ключевые вопросы с собесов и сделали тест, который поможет оценить навыки.

Вот как это работает:

1. Ты проходишь экспресс-тест за 20 минут или его расширенную версию

2. Бронируешь звонок для презентации обратной связи по ответам — можем встретиться уже на следующий день!

3. К созвону проверим ответы, чекнем СV и на основе этого оценим твой грейд.

Ещё подскажем зарплату в рынке, построим план развития до следующего уровня и расскажем про наш новый продукт, который поможет получить выгодный оффер в 2025 году.

Переходи в бота и проходи тест бесплатно, а дальше расскажем, что и как  👉@shortcut_python_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqwA35MD

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

Senior Python Developer

Узнаём кодировку текста

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

Пакет chardet как раз был создан для работы с кодировками. Его метод detect выдает предполагаемую кодировку с точностью от 0 до 1.

В примере на картинке мы сделали запрос к серверу, получили ответ, взяли его содержимое и проверили кодировку через метод detect.

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

Senior Python Developer

Перемешиваем буквы в строке

Строки неизменяемы в Питоне, поэтому чтобы перемешать буквы в словах текста, каждое слово преобразуются в список символов, список перемешивается, затем объединённые символы назад в список слов присваиваются.

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

Senior Python Developer

Получаем текущее имя пользователя в Python

Модуль ОС в Python предоставляет функции для взаимодействия с операционной системой. ОС входит в стандартные служебные модули Python. Этот модуль предоставляет портативный способ использования функций, зависящих от операционной системы.

Метод os.getlogin() в Python используется для получения имени пользователя, вошедшего в систему на управляющем терминале процесса.

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