#вопросы_с_собеседований
Что такое wheel и eggs в Python? Какая между ними разница?
Python wheel - Это стандартный формат установки дистрибутивов Python, который содержит все файлы и метаданные, необходимые для установки. Файл WHL также содержит информацию о версиях и платформах Python, поддерживаемых этим файлом. Расширение файла wheel - .whl
Python egg - Это сжатый архив ZIP, содержащий исходные файлы приложения Python вместе с метаинформацией о дистрибутиве. Расширение файла egg - .egg
Основная разница заключается в том, что wheel предоставляет более простой и надежный способ установки пакетов. В отличие от eggs, он не требует установки дополнительных зависимостей и обеспечивает более быстрое время установки. Кроме того, wheel поддерживает все платформы, на которых может работать Python.
Что такое wheel и eggs в Python? Какая между ними разница?
Python wheel - Это стандартный формат установки дистрибутивов Python, который содержит все файлы и метаданные, необходимые для установки. Файл WHL также содержит информацию о версиях и платформах Python, поддерживаемых этим файлом. Расширение файла wheel - .whl
Python egg - Это сжатый архив ZIP, содержащий исходные файлы приложения Python вместе с метаинформацией о дистрибутиве. Расширение файла egg - .egg
Основная разница заключается в том, что wheel предоставляет более простой и надежный способ установки пакетов. В отличие от eggs, он не требует установки дополнительных зависимостей и обеспечивает более быстрое время установки. Кроме того, wheel поддерживает все платформы, на которых может работать Python.
🔥5👍3
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🎉 Кино, игры и алгоритмы: чем заняться на майских праздниках
Отложите все дела и забудьте о рутине, ведь майские праздники уже на пороге! Если вы не знаете, как провести эти дни с максимальным удовольствием, то мы подготовили для вас несколько вариантов: киномарафон, компьютерные игры и захватывающий мир алгоритмов.
🔗 Основной сайт
🔗 Зеркало
Отложите все дела и забудьте о рутине, ведь майские праздники уже на пороге! Если вы не знаете, как провести эти дни с максимальным удовольствием, то мы подготовили для вас несколько вариантов: киномарафон, компьютерные игры и захватывающий мир алгоритмов.
🔗 Основной сайт
🔗 Зеркало
👍10🔥1
Пакеты Python: учебник для специалистов по работе с данными.
https://dagster.io/blog/python-packages-primer-1
https://dagster.io/blog/python-packages-primer-1
dagster.io
Python Packages Primer for Data People 1/2
Start mastering Python project structure with this guide to modules, imports, and package organization for data practitioners.
👍1🔥1
Назад в будущее: практическое руководство по путешествию во времени с Python
В Python есть несколько встроенных библиотек для работы со временем и интервалами времени: time, datatime, calendar, timeit. Но когда какой модуль использовать? Рассмотрим на примерах.
Смотреть статью
В Python есть несколько встроенных библиотек для работы со временем и интервалами времени: time, datatime, calendar, timeit. Но когда какой модуль использовать? Рассмотрим на примерах.
Смотреть статью
Библиотека программиста
Назад в будущее: практическое руководство по путешествию во времени с Python
В Python есть несколько встроенных библиотек для работы со временем и интервалами времени: time, datetime, calendar, timeit. Но когда какой модуль использовать? Рассмотрим на примерах.
👍7
Инкремент с помощью __pos__
В Python нет операции инкремента
При применении унарного плюса у объекта вызывается магический метод
Код на картинке может показаться сначала немного сложным, но лучше проследить логику и понять работу метода
В Python нет операции инкремента
++
как в си-подобных языках, поэтому используется x += 1
. Однако запись ++x
является валидным кодом (но не x++
), так как это просто два унарных оператора сложения.При применении унарного плюса у объекта вызывается магический метод
__pos__
, то есть запись ++x
можно понять как x.__pos__().__pos__()
. Зная это, можно реализовать класс, который будет представлять число и поддерживать поведение инкремента.Код на картинке может показаться сначала немного сложным, но лучше проследить логику и понять работу метода
__pos__
. Если реализовать все остальные необходимые магические методы, то может получится полноценный класс числа, но в продакшене такие приколы лучше не писать.👍9🔥4❤2
Сортировка вставками (объяснение алгоритма)
Как и сортировка выборкой, этот алгоритм сегментирует список на две части: отсортированную и неотсортированную. Алгоритм перебирает второй сегмент и вставляет текущий элемент в правильную позицию первого сегмента.
Предполагается, что первый элемент списка отсортирован. На каждом шаге переходим к следующему элементу, обозначим его х. Если х больше прошлого элемента, оставляем x на своём месте. Если x меньше прошлого элемента, копируем прошлый элемент на вторую позицию, а х устанавливаем на его место.
Переходя к другим элементам несортированного сегмента, перемещаем более крупные элементы в отсортированном сегменте вверх по списку, пока не встретим элемент меньше x или не дойдём до конца списка. В первом случае x помещается на правильную позицию.
Время сортировки вставками в среднем равно O(n²), где n — количество элементов списка.
Как и сортировка выборкой, этот алгоритм сегментирует список на две части: отсортированную и неотсортированную. Алгоритм перебирает второй сегмент и вставляет текущий элемент в правильную позицию первого сегмента.
Предполагается, что первый элемент списка отсортирован. На каждом шаге переходим к следующему элементу, обозначим его х. Если х больше прошлого элемента, оставляем x на своём месте. Если x меньше прошлого элемента, копируем прошлый элемент на вторую позицию, а х устанавливаем на его место.
Переходя к другим элементам несортированного сегмента, перемещаем более крупные элементы в отсортированном сегменте вверх по списку, пока не встретим элемент меньше x или не дойдём до конца списка. В первом случае x помещается на правильную позицию.
Время сортировки вставками в среднем равно O(n²), где n — количество элементов списка.
👍13❤3
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🐍 Самоучитель по Python для начинающих. Часть 20: Графический интерфейс на Tkinter
Расскажем о преимуществах и недостатках Tkinter, изучим основы создания GUI и разберемся в особенностях компоновки виджетов с помощью pack(), place() и grid(). В конце статьи – 10 практических заданий по разработке GUI для Python-программ.
🔗 Основной сайт
🔗 Зеркало
Расскажем о преимуществах и недостатках Tkinter, изучим основы создания GUI и разберемся в особенностях компоновки виджетов с помощью pack(), place() и grid(). В конце статьи – 10 практических заданий по разработке GUI для Python-программ.
🔗 Основной сайт
🔗 Зеркало
🔥6👍2
Ускоряем Python в сто раз при помощи менее чем ста строк на Rust.
https://habr.com/ru/companies/ruvds/articles/732530/
https://habr.com/ru/companies/ruvds/articles/732530/
Хабр
Ускоряем Python в сто раз при помощи менее чем ста строк на Rust
Однажды на работе у нас возникла проблема с производительностью одной из наших основных Python-библиотек. Эта библиотека формирует фундамент нашего конвейера 3D-обработки. Это довольно большая и...
❤11👍3
О разнице между лямбдами и обычными функциями и о имплементации лямбд в некторых языках программирования.
https://habr.com/ru/articles/732434/
https://habr.com/ru/articles/732434/
Хабр
О разнице между лямбдами и обычными функциями и о имплементации лямбд в некторых языках программирования
Цель настоящей статьи - изучить лямбда функции: чем они отличаются от обычных функций и изучить, как они реализованы в С++, Python 3 и Java. На протяжении этой статьи я буду использовать godbolt.org ,...
👍8❤1
🧒👾Тест-игра на выживание: как джуну протянуть первую рабочую неделю и не потерять работу
Первая неделя на новой работе – это всегда стресс для разработчика. В голове тысяча мыслей, давление зашкаливает, и сердце стучит без остановки. Знаете ли вы, как в такой ситуации не перегореть на старте? Если да, тогда вы легко пройдете нашу мини-игру на выживание про адаптацию джуна в незнакомых условиях. Итак, представьте: желанный оффер уже получен, вас приняли в компанию вашей мечты и сегодня первый рабочий день.
🔗 Основной сайт
🔗 Зеркало
Первая неделя на новой работе – это всегда стресс для разработчика. В голове тысяча мыслей, давление зашкаливает, и сердце стучит без остановки. Знаете ли вы, как в такой ситуации не перегореть на старте? Если да, тогда вы легко пройдете нашу мини-игру на выживание про адаптацию джуна в незнакомых условиях. Итак, представьте: желанный оффер уже получен, вас приняли в компанию вашей мечты и сегодня первый рабочий день.
🔗 Основной сайт
🔗 Зеркало
👍16❤2
PySpark для аналитика. Как правильно просить ресурсы и как понять, сколько нужно брать
https://habr.com/ru/companies/avito/articles/732870/
https://habr.com/ru/companies/avito/articles/732870/
Хабр
PySpark для аналитика. Как правильно просить ресурсы и как понять, сколько нужно брать
Привет! Меня зовут Александр Ледовский. Я тимлид команды аналитики и DS, мы строим рекламные аукционы в Авито. Для работы с поисковыми логами мы пользуемся Apache Spark. Я расскажу о моём опыте работы...
👍10❤2
re.split
Это выражение разделит строку в том месте, где в строке встречается указанный шаблон. Он также вернет текст всех групп в шаблоне, если в шаблоне используется расширенная функция, такая как захват круглых скобок.
Как вы можете видеть выше, образец символа «y» встречается три раза, и выражение разделено во всех случаях, где оно встречается.
Это выражение разделит строку в том месте, где в строке встречается указанный шаблон. Он также вернет текст всех групп в шаблоне, если в шаблоне используется расширенная функция, такая как захват круглых скобок.
Как вы можете видеть выше, образец символа «y» встречается три раза, и выражение разделено во всех случаях, где оно встречается.
👍19❤5😁1
🐍🐬 Python + MySQL: как подключиться к СУБД MySQL и работать с ней с помощью Python
Из этой статьи вы узнаете, как подключиться к MySQL с помощью Python и выполнить основные команды для работы с данными в таблице: установка необходимых библиотек, подключение к базе данных, создание и удаление таблицы, добавление, извлечение и удаление данных из таблицы.
🔗 Основной сайт
🔗 Зеркало
Из этой статьи вы узнаете, как подключиться к MySQL с помощью Python и выполнить основные команды для работы с данными в таблице: установка необходимых библиотек, подключение к базе данных, создание и удаление таблицы, добавление, извлечение и удаление данных из таблицы.
🔗 Основной сайт
🔗 Зеркало
👍10❤9🤯4