seniorpy | Unsorted

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

43333

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

Subscribe to a channel

Senior Python Developer

Бинарный поиск

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

В этом примере функция binary_search принимает отсортированный массив arr и искомый элемент target. Она ищет элемент в массиве и возвращает его индекс, если он найден, и -1, если элемент отсутствует. Каждая итерация сужает диапазон поиска путем сравнения среднего элемента с искомым элементом и сдвига границ поиска в соответствии с результатом сравнения.

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

Senior Python Developer

Введение в машинное обучение с помощью scikit-learn (перевод документации)

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

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

Senior Python Developer

Построение горизонтальной гистограммы с помощью seaborn

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

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

Senior Python Developer

Библиотека Feather

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

В этом примере мы использовали две основные функции библиотеки:
- feather.write_dataframe(): записывает таблицу данных в файл формата Feather.
- feather.read_dataframe(): читает таблицу данных из файла формата Feather.

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

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

Senior Python Developer

Обучите свою первую ML-модель!

✅ Интенсив для начинающих разработчиков ML «Машинное обучение на службе Data Science» от Otus.

Научитесь решать задачи классификации методами ML

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

👉 Регистрация: https://otus.pw/1kC2/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

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

Senior Python Developer

@cached_property: Кешируем результат функции как атрибут

В Python 3.8 в модуле functools появился новый мощный декоратор - @cached_property. Он может превратить метод класса в свойство, значение которого вычисляется один раз, а затем кэшируется как обычный атрибут на протяжении всего существования экземпляра.

В приведенном выше коде мы оптимизировали метод area через свойство @cached_property. Таким образом, нет повторных вычислений для circle.area одного и того же неизменного экземпляра.

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

Senior Python Developer

Управление экспортами

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

В примере на картинке экспортируется только функция hja. А если оставить атрибут __all__ пустым, при попытке экспорта из модуля ничего не будет экспортировано, но возникнет ошибка AttributeError.

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

Senior Python Developer

Подготовка к Новому году – это волнительно и приятно.
Но давайте совместим приятное с полезным.

Например, создадим телеграм-бот для новогодних поздравлений!

18 декабря на вебинаре «Телеграм-бот своими руками» вы узнаете:
- Как устроен телеграм-бот
- Как создать телеграм-бот на сервере Telegram
- Как написать бэкенд для телеграм-бота на базе фреймворка Aiogram

Мастер-класс проведёт Кирилл Панфилов, преподаватель OTUS, классный программист и автор ютуб-канала [dirty-python]

Приглашаем начинающих Python-разработчиков, разработчиков на Jave и других языках, а также всех, кто интересуется разработкой и IT.

Результаты вебинара: функционирующий бот, прокачка навыков программирования на Python, доступ к закрытому сообществу,  а ещё – скидка на курсы и полезные материалы.

18 декабря, 19:00 МСК

Записаться на вебинар - https://otus.pw/dvll/?erid=LjN8K7hvn

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

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

Senior Python Developer

Получаем историю браузера 😏

browser-history— это простой, не требующий никаких зависимостей, удобный для разработчиков пакет Python для извлечения (почти) всей истории любого браузера на (почти) любой платформе.

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

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

Senior Python Developer

Превращаем PDF файл в аудиокнигу

Для выполнения данной задачи нам понадобятся 2 библиотеки: pyttsx3 и PyPDF2.
Первая потребуется для преобразования текста в речь.
Вторая - для работы с PDF-файлами.

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

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

Senior Python Developer

#вопросы_с_собеседований
Что такое поверхностная копия?

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

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

Senior Python Developer

✅️ GitHub теперь в Telegram!

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

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

Senior Python Developer

Аннотации типов

Python имеет динамическую типизацию, и многие часто ругают за это язык.

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

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

Senior Python Developer

Учишь Python, но как дело доходит до собственного кода — всё, кирдык? 😥

На форумах только одно: «Больше практиковаться!» А толку? Ноль понимания и никакой поддержки от профи

Плавали - знаем)) Поэтому специально для тебя - чат для Python-щиков 🤝

Что получишь?

1️⃣ Сможешь задавать любые вопросы без страха и осуждения и получать ответы за минуты, а не часы поиска в инете
2️⃣ Регулярные плюшки в виде стримов от препода с 15-ти летним опытом
3️⃣ Общение с единомышленниками и заряд мотивации

➡️ А еще, забирай в закрепе БЕСПЛАТНЫЙ вводный курс по Python

Короче, всё для прокачки! Залетай к нам — ссылка на чат (тык)

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

Senior Python Developer

Узнаем размер файла с помощью Python

C помощью метода os.path модуля os мы можем получить размер любого нашего файла в байтах.

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

Senior Python Developer

Задача

У вас есть девять цифр: 1, 2, …, 9. Именно в таком порядке. Вы можете вставлять между ними знаки «+», «-» или ничего. У вас будут получаться выражения вида 123+45-6+7+89. Найдите все из них, которые равны 100.

Мне кажется, в таком виде его проще всего и писать и читать и тестировать. Тут у меня три функции: all_combinations — итератор, который выдает все числа для операций (в терминах задачи: вставляет пустые места); all_signs — выдаёт все возможные сочетания знаков + и - заданной длинны (для единообразия, это тоже итератор с рекурсией); perform_operations — выполняет операции.

Тут, конечно, просится решение, избавленное от if-ов и кодирования операций с помощью символов. Но это решение будет более громоздким, о нём можно рассказать, но и писать, и читать его дольше.

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

Senior Python Developer

PyTorch

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

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

При этом мы используем функцию потерь CrossEntropyLoss, которая подходит для задач классификации, и оптимизатор SGD.

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

Senior Python Developer

Использование речевых технологий Яндекса на примере аудиосообщений Telegram или чат-бот для распознавания аудиосообщений

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

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

Senior Python Developer

Просмотр всех файлов в папке с помощью Python

В этом примере мы указываем путь к папке, которую нам нужно просмотреть, с помощью переменной folder_path.

Затем мы вызываем функцию os.listdir(), которая вернет список всех файлов и папок в указанной папке. Мы проходим циклом for через этот список и выводим на экран имена файлов.

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

Senior Python Developer

Работаем с датой и временем

С помощью следующего фрагмента кода вы сможете с легкостью узнать год/месяц/день/час/минуту/секунду настоящего времени.

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

Senior Python Developer

Хотели узнать больше про инженерную команду Selectel?
Спешим познакомить вас с новым проектом ребят!

На этой страничке вы найдете:

— Ключевые ценности, на которые инженеры Selectel опираются в работе
— Подробную информацию о жизни ребят в компании: как устроены процессы и какие технологии используются
— Чем живут технические комьюнити

А также познакомитесь с базой знаний инженеров: докладами и статьями на Хабре!

Скорее переходите и читайте😉

Реклама, АО «Селектел», ИНН: 7810962785, ERID: 2VtzqvmVXKw

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

Senior Python Developer

Преобразование PNG в PDF

Для начала установим библиотеку img2pdf - pip install img2pdf.

img2pdf— это пакет Python с открытым исходным кодом для преобразования изображений в формат pdf.

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

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

Senior Python Developer

Как можно объявить несколько присваиваний в одном выражении?

Оба варианта на картинке. В первой строке мы присваиваем переменным a, b, c соответственно значения 3, 4, 5, а во второй строке все переменные получают значение 3.

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

Senior Python Developer

Передаём содержимое словаря

Две звездочки перед словарём позволяют передать его содержимое в функцию как аргументы. При этом ключи словаря — имена аргументов.

Это полезно при обработке словарей, а также для написания функций-обёрток.

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

Senior Python Developer

Узнаем отношение доллара к биткоину

С помощью следующего фрагмента кода мы узнаем что в настоящее время 5 тысяч долларов равняется 0.29 биткоина.

forex-python позволяет получать данные о курсе валют в определённое время и конвертировать одну валюту в другую.

Установка пакета - pip install forex-python.

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

Senior Python Developer

Функция readline()

Функция readline() используется для построчного чтения содержимого файла. Она используется для крупных файлов. С ее помощью можно получать доступ к любой строке в любой момент.

Допустим у нас есть файл test.txt с несколькими строками:
This is line1.
This is line2.
This is line3.

Посмотрим, как функция readline() работает в test.txt.

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

Senior Python Developer

Проверяем скорость интернета

Speedtest — пакет от создателей того самого сайта для проверки скорости интернета прямо на Python.

У объекта класса Speedtest методы download() и upload() выдают соответственно скорость скачивания и загрузки данных.

Методы отдают результат в байтах, поэтому для наглядности в примере данные переводятся в мегабайты при выводе. Документация, как всегда, по ссылке.

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

Senior Python Developer

🐍 3 классических паттерна проектирования в Python: синглтон, декоратор и итератор

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

https://proglib.io/p/3-luchshih-patterna-proektirovaniya-v-python-singlton-dekorator-i-iterator-2022-02-03

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

Senior Python Developer

Наследование

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

В примере на картинке класс Ferrari является дочерним классом Car.

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

Senior Python Developer

Проверяем отсутствие общих элементов множества и последовательности

Метод sets.isdisjoint() позволяет проверить множество sets на отсутствие общих элементов с последовательностью other. Метод возвращает True, если множество sets не имеет общих элементов с итерируемым объектом other, если имеются общие элементы то вернет False.

Синтаксис:
sets.isdisjoint(other)
Параметры:
other - объект поддерживающий итерацию (кортеж, символ или подстрока).
sets - множество frozenset или set.

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