Библиотека питониста | Python, Django, Flask
40.7K subscribers
2.72K photos
74 videos
51 files
4.3K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://t.iss.one/proglibrary/9197

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
👔💼 Как ответить на собеседовании, почему вы уволились с прошлого места работы: 9 вариантов ответа

А также примеры того, как говорить точно не надо 🌚

👉Читать
🔥63
Некоторые способы использовать * и ** в Python

Эти символы могут служить в языке не только как арифметические. Вот примеры:

▪️* для распаковки итерируемых объектов в позиционные аргументы при вызове функций (см. картинку👆)

▪️** для распаковки словарей в именованные аргументы при вызове функций:
date_info = {'year': "2020", 'month': "01", 'day': "01"}
track_info = {'artist': "Beethoven", 'title': 'Symphony No 5'}
filename = "{year}-{month}-{day}-{artist}-{title}.txt".format(
**date_info,
**track_info,
)
print(filename)
# - > '2020-01-01-Beethoven-Symphony No 5.txt'


▪️* в определении функций для захвата позиционных аргументов:
from random import randint

def roll(*dice):
return sum(randint(1, die) for die in dice)


▪️** в определении функций для захвата именованных аргументов:
def tag(tag_name, **attributes):
attribute_list = [
f'{name}="{value}"'
for name, value in attributes.items()
]
return f"<{tag_name} {' '.join(attribute_list)}>"


#советы
👍23🎉51🥱1
💡 uv — новый стандарт в управлении Python-проектами и пакетами

🔍 Что такое uv
uv — это универсальный инструмент, который объединяет функции pip, pip-tools, pipx, poetry, pyenv, twine и virtualenv. С его помощью управление Python-зависимостями становится проще и быстрее.

🚀 Чем uv выделяется
🔹 Молниеносная скорость. Работает заметно быстрее других инструментов.
🔹 Не требует установленного Python. Можно сразу использовать, даже если Python не настроен.
🔹 Постоянное развитие. uv регулярно получает обновления и новые функции, оставаясь актуальным для современных разработчиков.

🛠️ Что можно делать с uv
1️⃣ Управлять зависимостями проектов.
2️⃣ Собирать и публиковать Python-пакеты.
3️⃣ Запускать скрипты без долгих настроек среды.

💡 Чем полезен
Больше не нужно тратить время на настройку окружения — uv ускоряет процесс.

📄 Документация

#управлениепроектами #python #uv #разработка
👍17😁74😢2🌚1
🐍 Вредоносные пакеты в PyPI: zebo и cometlogger

Киберисследователи из Fortinet FortiGuard Labs обнаружили два вредоносных пакета в репозитории PyPI. Пакеты zebo и cometlogger предназначены для кражи данных с заражённых устройств. До удаления они успели набрать 118 и 164 скачивания, в основном из США, Китая, России и Индии.

📌 Чем опасны пакеты
Zebo: использует обфускацию для скрытия командного сервера, перехватывает нажатия клавиш через pynput, делает скриншоты через ImageGrab и выгружает их на ImgBB. Для сохранения активности добавляет скрипт в автозагрузку Windows.
Cometlogger: ворует пароли, куки, токены и данные аккаунтов из Discord, TikTok, Instagram и других сервисов. Также собирает метаданные системы, информацию о сети, список процессов и содержимое буфера обмена.

🔒 Как защититься
Избегайте установки непроверенных пакетов и тщательно проверяйте код перед запуском. Даже популярные репозитории могут содержать угрозы.

#PyPI #ВредоносноеПО
🌚10👍9😢32
🚀 Что такое GIL в Python

GIL (Global Interpreter Lock) — это механизм, который позволяет только одному потоку исполнять Python-код в каждый момент времени, даже на многоядерных процессорах.

🧠 Почему нужен GIL
Он упрощает управление памятью: предотвращает конфликты при подсчёте ссылок, делая Python стабильным и простым.
Однопоточные программы работают быстро и стабильно.
Многопоточные программы сталкиваются с ограничениями: потоки исполняются по очереди, снижая эффективность на многопроцессорных системах.

🔧 Как обойти GIL
1. Использовать multiprocessing вместо потоков.
2. Работать с библиотеками (NumPy), которые освобождают GIL.
3. Рассмотреть альтернативы: PyPy, Jython.

В Python 3.13 добавлен экспериментальный режим, который позволяет отключить GIL.

#GIL #многопоточность
👍17🔥43🎉2
🖥️ Контейнеры vs Виртуальные машины vs Bare Metal

Если вы занимаетесь разработкой на Python, то наверняка сталкивались с вопросом: что выбрать — контейнеры, виртуальные машины или bare metal? Давайте разберемся!

👇 Каждая технология хороша для своих задач. Напишите в комментариях, что используете вы и почему!

#Python #DevOps #Контейнеры #Виртуализация
👍9🥰51😁1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍52🔥1👏1
🥔 Potato: лёгкий инструмент для отладки и тестирования Python-кода

Potato — это суперзабавный и лёгкий способ приостановить выполнение вашего кода в Python!

Просто напишите слово «potato», и ваш код сразу остановится с ошибкой NameError. Это идеальный инструмент для отладки, тестирования или просто для того, чтобы удивить коллег и друзей.

🚫 Без зависимостей: Никаких установок или обновлений.
📦 Легковесность: Занимает 0 байт памяти.
🛠️ Мгновенная отладка: Ясно показывает точку, где произошёл сбой.

💾 Как установить
Не нужно ничего устанавливать! Potato уже предустановлен в Python. Просто откройте свой скрипт и впишите potato там, где хотите остановить выполнение.

Подробнее

#Отладка #Тестирование #Potato
😁50👍62🔥2🥰2
🐍 Python 3.14.0a4: Встречайте альфа-версию

📅 Дата выхода: 14 января 2025 года
🔥 Новая версия Python 3.14, находящаяся в стадии разработки, теперь доступна для тестирования! Это четвёртый из семи запланированных альфа-релизов.

🔍 Что нового
📜 PEP 649: Отложенная оценка аннотаций.
⚙️ PEP 741: C API для настройки Python.
🛠️ Улучшенные сообщения об ошибках.
🗑️ Удаление устаревших классов, функций и методов.

💡 Важно знать
Альфа-версии предназначены для тестирования новых функций и исправлений.
Использование в продакшене не рекомендуется.
Новые функции могут быть добавлены, изменены или удалены до стадии бета (6 мая 2025 г.).
⏭️ Следующий релиз: 3.14.0a5 (11 февраля 2025 г.).

Подробнее
👍14🔥52👏1
💽 Миграция данных: основы и реализация на Python

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

🔧 Почему важна миграция данных
1. Обновление систем.
2. Интеграция новых технологий.
3. Оптимизация производительности.
4. Улучшение доступности.
5. Соблюдение нормативных требований.

Статья
7😁3👍1