Python вопросы с собеседований
25.8K subscribers
577 photos
31 videos
17 files
458 links
Вопросы с собеседований по Python

@workakkk - админ

@machinelearning_interview - вопросы с собесдований по Ml

@pro_python_code - Python

@data_analysis_ml - анализ данных на Python

@itchannels_telegram - 🔥 главное в ит

РКН: clck.ru/3FmrFd
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Python-трюк: быстрая группировка данных

Хотите сгруппировать элементы по ключу без лишних циклов?
Используйте itertools.groupby — но не забудьте предварительно отсортировать данные по этому ключу, иначе группы будут неправильными.


from itertools import groupby
from operator import itemgetter

data = [
{"user": "alice", "score": 8},
{"user": "bob", "score": 5},
{"user": "alice", "score": 7},
{"user": "bob", "score": 9},
]

# Сортируем по ключу
data.sort(key=itemgetter("user"))

# Группируем и считаем средний балл
for user, items in groupby(data, key=itemgetter("user")):
scores = [i["score"] for i in items]
print(user, "avg score:", sum(scores) / len(scores))



#Python #itertools #groupby #lifehack
👍87🔥3
🐍 Python + Ruff: сложность кода под контролем

На скрине — функция validate_product, которая проходит несколько вложенных проверок.
Линтер Ruff с правилом C901 (McCabe Complexity) сигнализирует: сложность функции = 7, что выше лимита 5.

📏 McCabe Complexity измеряет количество ветвлений и условий в функции. Чем выше показатель, тем сложнее код для понимания и поддержки.

⚠️ Почему это важно:
• Снижение читаемости
• Рост вероятности багов
• Трудности при тестировании

💡 Решение:
1. Разбить функцию на несколько маленьких с понятными именами
2. Использовать ранние выходы (`return`) вместо вложенных if
3. Упрощать логику с помощью вспомогательных функций или структур данных

#Python #Ruff #CleanCode #Refactoring #McCabeComplexity
4👍4🔥1
🔥 Полезный Python-трюк для работы с сетями: `ipaddress` в стандартной библиотеке

Когда нужно быстро проверить IP-адреса, маски подсетей или принадлежность хоста сети — не обязательно тянуть внешние пакеты. В Python уже есть мощный модуль ipaddress.


import ipaddress

# Создаём сеть
net = ipaddress.ip_network("192.168.1.0/24")

# Проверяем, входит ли IP в сеть
print(ipaddress.ip_address("192.168.1.42") in net) # True
print(ipaddress.ip_address("10.0.0.5") in net) # False

# Перебираем все адреса подсети
for ip in net.hosts():
print(ip)
break # выведет первый адрес

# Работаем с IPv6 так же просто
ipv6 = ipaddress.ip_network("2001:db8::/32")
print(ipaddress.ip_address("2001:db8::1") in ipv6) # True


📌 Чем полезно

Проверка принадлежности адреса подсети

Удобный парсинг IPv4 и IPv6

Генерация диапазонов IP

Всё встроено в Python — никаких сторонних зависимостей

🔥 Отлично подходит для написания сетевых тулзов, firewall-скриптов, DevOps-автоматизации и тестов.

#Python #Networking #Tips #DevOps
👍84
🚀 Умная система мониторинга Alerta

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

🚀 Основные моменты:
- Масштабируемая архитектура
- Минимальная конфигурация
- Поддержка MongoDB и PostgreSQL
- Удобная веб-консоль для визуализации
- Легкая интеграция с облачными платформами

📌 GitHub: https://github.com/alerta/alerta

#python
4🔥3🥰1
🚀 CUDA Kernel Benchmarking Made Easy

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

🚀Основные моменты:
- Многочисленные настройки инициализации для более точной оценки
- Проверка корректности с учетом различных конфигураций входных данных
- Профилирование производительности для реальных сценариев
- Защита от манипуляций входными данными

📌 GitHub: https://github.com/SakanaAI/robust-kbench

#python
2🔥1
🔮 GENIE: Легкий движок синтеза речи на базе GPT-SoVITS

GENIE — это легкий движок для синтеза речи, который использует возможности GPT-SoVITS. Он предлагает высокую производительность на CPU, включая интеграцию TTS, конвертацию моделей ONNX и API сервер для удобного использования.

🚀 Основные моменты:
- Поддержка моделей GPT-SoVITS V2
- Оптимизирован для быстрого синтеза на CPU
- Включает предустановленные голосовые модели для мгновенного использования

📌 GitHub: https://github.com/High-Logic/Genie

#python
2👍2👎1