24940
Вопросы с собеседований по Python @workakkk - админ @machinelearning_interview - вопросы с собесдований по Ml @pro_python_code - Python @data_analysis_ml - анализ данных на Python @itchannels_telegram - 🔥 главное в ит РКН: clck.ru/3FmrFd
🔥 Обработка ошибок при считывании JSON в Python
Если вы сталкиваетесь с проблемами при считывании JSON в Python, убедитесь, что вы не забыли обрабатывать потенциальные исключения. Используйте блоки try и except для отлова ошибок, таких как JSONDecodeError. Это поможет вам быстро диагностировать проблемы с форматом данных.
Читать полностью…
import json
json_data = '{"name": "John", "age": 30}' # Пример корректного JSON
try:
parsed_data = json.loads(json_data)
print(f"Name: {parsed_data['name']}, Age: {parsed_data['age']}")
except json.JSONDecodeError as e:
print(f"Ошибка разбора JSON: {e}")
except KeyError as e:
print(f"Отсутствует ключ: {e}")
except Exception as e:
print(f"Произошла ошибка: {e}")
🔥 Быстрый старт HTTP API на FastAPI с валидацией данных
Сохрани себе шаблон для быстрого старта HTTP API на FastAPI с базовой валидацией данных. Используй Pydantic для определения схемы данных и автоматической генерации документации.
Читать полностью…
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
is_offer: bool = None
@app.post("/items/", response_model=Item)
async def create_item(item: Item):
return item
@app.get("/")
async def read_root():
return {"message": "Welcome to the FastAPI!"}
🖥 В трейлере «Истории игрушек 5» заметили терминал с zsh и Python.
Самое смешное - код настоящий и вполне рабочий.
Даже Pixar не пишет фейковый код.
https://x.com/toystory/status/2024529641571320101?s=20
🖥 Большинство “парсеров” умирают через 2 дня.
Ты научишься делать те, которые живут в проде.
Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:
• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов
Ты начнёшь видеть сайты не как страницы, а как источники данных, к которым можно подключиться.
В итоге ты сможешь:
• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных
Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.
🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/
🔥Яндекс Образование приглашает студентов бакалавриата и специалитета IT-направлений со всей России на бесплатный студкемп по аппаратной разработке умных устройств.
Основные моменты:
🗓 Даты: с 13 по 24 апреля
📍 Место: Москва
💡 Формат: интенсивное офлайн-обучение
В программе:
- Полный цикл разработки умного устройства: от прототипа до готового продукта.
- ML-интеграция в устройства с сохранением скорости и предсказуемости работы даже при ограниченных ресурсах.
- Современные подходы к исследованиям и разработке умных устройств.
Кто с вами будет работать?
- Специалисты Яндекса, которые создавали Алису и другие умные устройства компании.
- Преподаватели ФПМИ МФТИ, ФКН ВШЭ.
- Эксперты ШАД.
Участие бесплатное. Яндекс Образование покроет расходы на дорогу и проживание всем, кто пройдет отбор. Для участия нужно уметь работать с командной строкой и знать C++ или Java/Kotlin.
🔥 Набор открыт до 22 февраля, поэтому спешим регистрироваться по ссылке
🔴 Реальный собес на Python от ТехЛида с опытом работы в Авито и Яндексе в прямом эфире
17 февраля(уже завтра!) в 19:00 по мск приходи на прямой эфир с реальным собеседованием на Middle разработчика.
Почему точно нужно прийти:
📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Савве
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
🖥 Шпаргалка по регулярным выражениям в Python
Сохрани себе полезную шпаргалку по регулярным выражениям в Python. Эти выражения позволяют эффективно находить и обрабатывать текстовые данные. Важно знать базовые функции и методы, чтобы упростить свою работу с текстом.
Читать полностью…
import re
# Пример текста
text = "Контакт: example@example.com, телефон: +7-123-456-7890"
# Регулярные выражения для извлечения email и телефона
email_pattern = r'\b[\w.-]+?@\w+?\.\w{2,4}\b'
phone_pattern = r'\+?\d{1,2}[- ]?\d{3}[- ]?\d{3}[- ]?\d{4}'
# Найти все совпадения
emails = re.findall(email_pattern, text)
phones = re.findall(phone_pattern, text)
# Результат
print("Найденные email:", emails)
print("Найденные телефоны:", phones)
Идеальный старт для проекта Django: конфигурация окружения.
Сохрани себе идеальный шаблон virtual environment и основных настроек для каждого нового проекта Django. Это упростит процесс настройки окружения и позволит избежать распространенных ошибок.
Читать полностью…
# Создание виртуального окружения
python3 -m venv venv
# Активация виртуального окружения
source venv/bin/activate
# Установка основных зависимостей
pip install django djangorestframework psycopg2
# Создание файла requirements.txt
pip freeze > requirements.txt
# Инициализация нового проекта Django
django-admin startproject myproject
# Переход в директорию проекта
cd myproject
# Запуск сервера для проверки
python manage.py runserver
⚡️ Cowork стал доступен на Windows.
Пользователи Windows теперь могут использовать все возможности Cowork: прямой доступ к файлам, выполнение многошаговых задач, поддержку плагинов и всех коннекторов MCP. Ранее этот функционал был эксклюзивом для яблочной платформы.
Попутно Anthropic представила гибкую систему инструкций. Вы можете задать глобальные предпочтения: тон, формат ответов или описание своей роли, они будут применяться ко всем чатам.
Также появились инструкции уровня папок: они активируются автоматически, когда вы работаете в конкретной директории. Обновлять эти настройки можно прямо в ходе диалога, не копаясь в меню.
Инструмент все еще в стадии research preview и открыт для всех пользователей платных тарифов. Для доступа достаточно скачать свежую версию клиента с сайта.
@ai_machinelearning_big_data
#news #ai #ml
🖥 АВТОКЛИКЕР НА PYTHON ЗА 30 СЕКУНД.
Автокликер — одна из самых полезных мини-автоматизаций на Python. Он помогает убрать рутину: клики в интерфейсах, тестирование кнопок, автоматическое выполнение повторяющихся действий в браузере или приложениях.
Главная идея — управлять мышью программно. Библиотека pyautogui позволяет:
• кликать в нужной точке экрана
• двигать курсор
• задавать интервалы между действиями
• быстро остановить скрипт при необходимости
Такой подход часто используют для:
• UI-тестирования
• автоматизации веб-задач
• игр и симуляторов
• массовых операций в админках
Важно: всегда добавляйте задержку перед запуском, чтобы успеть переключиться в нужное окно. И используйте паузы между кликами, чтобы не перегружать систему.
Установка:
pip install pyautogui
import pyautogui
import time
# Безопасность: переместите мышь в верхний левый угол, чтобы аварийно остановить
pyautogui.FAILSAFE = True
# Пауза перед стартом (5 секунд, чтобы открыть нужное окно)
print("Старт через 5 секунд...")
time.sleep(5)
# Координаты для клика (узнать можно через pyautogui.position())
x, y = 800, 500
# Количество кликов
clicks = 100
# Интервал между кликами (в секундах)
interval = 0.5
for i in range(clicks):
pyautogui.click(x, y)
print(f"Клик {i+1}")
time.sleep(interval)
print("Готово!")
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇
🖥 ИИ: t.me/ai_machinelearning_big_data
🖥 Python: t.me/pythonl
🖥 Linux: t.me/linuxacademiya
🖥 C++ t.me/cpluspluc
🖥 Docker: t.me/DevopsDocker
🖥 Хакинг: t.me/linuxkalii
🖥 Devops: t.me/DevOPSitsec
👣 Golang: t.me/Golang_google
🖥 Аналитика: t.me/data_analysis_ml
🖥 Javascript: t.me/javascriptv
🖥 C#: t.me/csharp_ci
🖥 Java: t.me/javatg
🖥 Базы данных: t.me/sqlhub
👣 Rust: t.me/rust_code
🤖 Технологии: t.me/vistehno
💰 Экономика и инвестиции в ИИ t.me/financeStable
💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi
🖥 Chatgpt бот в тг: t.me/Chatgpturbobot
📚 Бесплатные ит-книги: /channel/addlist/HwywK4fErd8wYzQy
🖥Подборка по Golang: /channel/addlist/MUtJEeJSxeY2YTFi
⚡️ Лучшие ИИ ресурсы: /channel/addlist/2Ls-snqEeytkMDgy
Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
🧩 Минималистичный код для Claude
Nanocode — это компактная альтернатива Claude Code, реализованная в одном файле на Python без зависимостей. Он включает полный агентный цикл с использованием инструментов для работы с файлами и ведения истории беседы.
🚀Основные моменты:
- Полный агентный цикл с использованием инструментов
- Инструменты: read, write, edit, glob, grep, bash
- Ведение истории беседы
- Цветной вывод в терминале
📌 GitHub: https://github.com/1rgs/nanocode
#python
🖥 Лучшие практики написания кода на Python (2026)
При разработке на Python следует руководствоваться философией The Zen of Python (PEP 20) – набором принципов, подчеркивающих важность простоты и ясности кода.
Например, “Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex.” («Красивое лучше, чем некрасивое. Явное лучше неявного. Простое лучше сложного.»).
Один из ключевых афоризмов Zen of Python гласит: “Readability counts.” («Читаемость кода имеет значение»), и действительно, код читается гораздо чаще, чем пишется. Поэтому чистый код – это код, который легко читать и поддерживать.
Мы собрали современные рекомендации по стилю кода в этой статье: https://uproger.com/luchshie-praktiki-napisaniya-koda-na-python-2026-2/
⚡️ Экономичный способ развернуть DeepSeek локально запускай модель через Ollama.
Так ты получаешь мощную LLM на своём ПК без облака и без огромных требований к железу.
Что важно:
- выбирай DeepSeek Distill 7B/8B или 14B
- формат GGUF + квантизация Q4 (лучший баланс)
- поднимаешь как локальный API и дергаешь из Python, бота или агента
Плюс:
- приватность - всё работает локально
- дешево - не нужен сервер
- можно быстро менять модель, не трогая код
# 1) Установи Ollama (macOS/Linux/Windows)
# https://ollama.com
# 2) Запусти экономичную DeepSeek модель
ollama pull deepseek-r1:8b
ollama run deepseek-r1:8b
# 3) Проверка: запрос к локальному API
curl http://localhost:11434/api/generate \
-d '{"model":"deepseek-r1:8b","prompt":"Explain transformers simply","stream":false}'
# 4) Использование из Python
python - << 'PY'
import requests
r = requests.post(
"http://localhost:11434/api/generate",
json={
"model": "deepseek-r1:8b",
"prompt": "Сделай краткий план изучения SQL за 7 дней",
"stream": False
},
timeout=120
)
print(r.json()["response"])
PY
🔥 NovaSR - крошечная open-source модель, которая ускоряет обработку аудио в сотни раз
Вышел релиз NovaSR - маленькая, но очень мощная модель для улучшения качества аудио.
Самый громкий факт:
⚡️ 3600 секунд аудио за 1 секунду
То есть целый час звука обрабатывается практически мгновенно - на порядки быстрее прошлых решений.
Зачем это нужно
NovaSR полезна везде, где есть “сырой” звук:
✅ улучшение TTS-озвучки (делает голос чище и приятнее)
✅ улучшение качества датасетов (для обучения ASR/TTS/voice моделей)
✅ очистка и восстановление созвонов / звонков / записей
✅ быстрый preprocessing перед ML пайплайном
Это как “апскейлер” для звука:
меньше шумов, больше чёткости, лучше разборчивость.
Ссылки:
Repo: https://github.com/ysharma3501/NovaSR
Model: https://huggingface.co/YatharthS/NovaSR
Если работаешь с TTS / ASR / аудио-датасетами - это must-have тулза.
AI-гонка меняет правила игры
На NeurIPS 2025 вклад в топ-50 научных работ распределился почти поровну между Китаем и США — глобальное лидерство в ИИ теперь реально делят две страны.
Но самое интересное — структура исследований.
В США центр тяжести смещается из университетов в индустрию.
Корпоративные лаборатории Google DeepMind, Meta, Microsoft уже конкурируют на равных с топ-университетами вроде Stanford, MIT и CMU.
ИИ-наука становится частью продуктовой гонки, а не только академической.
В Китае картина другая — лидерство по-прежнему у академии:
Tsinghua, CAS, Peking University, SJTU, HKUST.
Сильная государственно-университетская модель продолжает давать результат.
Другие заметные игроки:
- Сингапур — NUS, NTU
- Южная Корея — KAIST
- ОАЭ — MBZUAI
- Канада — Mila
А вот Европа постепенно отстаёт.
В списке, только Oxford, EPFL, ETH Zurich и TUM.
Вывод простой:
ИИ сегодня — это уже не только наука.
Это геополитика, индустрия и борьба за экономическое лидерство.
Кто контролирует исследования — тот контролирует будущее технологий.
linkedin.com/posts/pierre-alexandre-balland-20b75b13_who-pushed-the-ai-frontier-at-neurips-2025-activity-7403119036496162817-vRPE
🖥 В трейлере «Истории игрушек 5» заметили терминал с zsh и Python.
Самое смешное - код настоящий и вполне рабочий.
Даже Pixar не пишет фейковый код.
https://x.com/toystory/status/2024529641571320101?s=20
⚡️ Как находить утечки памяти в Python с помощью tracemalloc
Сохрани себе: для обнаружения утечек памяти в Python используй модуль tracemalloc. Этот инструмент поможет тебе быстро отследить, где происходит выделение памяти, и выявить проблемные участки кода.
Читать полностью…
import tracemalloc
def memory_leak():
a = []
for i in range(10000):
a.append('leak' * 100)
tracemalloc.start()
memory_leak()
snapshot = tracemalloc.take_snapshot()
top_stats = snapshot.statistics('lineno')
print("[Top 10 memory allocations]")
for stat in top_stats[:10]:
print(stat)
🖥 Python: Ты неправильно читаешь файлы
Ты неправильно читаешь файлы в Python, если открываешь их без контекстного менеджера и сразу грузишь всё в память.
Контекстный менеджер with гарантирует, что файл закроется даже при ошибке - без утечек дескрипторов и странных багов в проде.
Читать весь файл через .read() удобно, но на больших логах и выгрузках ты просто съедаешь память. Правильнее - идти построчно: это быстро, экономно и идеально для обработки потоков данных.
Буферизация тоже важна: можно явно задать buffering, чтобы ускорить чтение на медленных дисках или сетевых FS.
Читать полностью…
from pathlib import Path
path = Path("app.log")
with path.open("r", encoding="utf-8", buffering=1024 * 1024) as f:
for line in f:
line = line.strip()
if not line or line.startswith("#"):
continue
if "ERROR" in line:
print(line)
🖥 Шпаргалка по тестированию функций на Python с использованием unittest
Важно знать, что для эффективного тестирования кода можно использовать библиотеку unittest в Python. Это позволит вам автоматически проверять функциональность и находить ошибки. Вот пример простого теста для функции сложения:
Читать полностью…
import unittest
def add(a, b):
return a + b
class TestAddFunction(unittest.TestCase):
def test_add_positive(self):
self.assertEqual(add(1, 2), 3)
def test_add_negative(self):
self.assertEqual(add(-1, 1), 0)
def test_add_zero(self):
self.assertEqual(add(0, 0), 0)
if __name__ == '__main__':
unittest.main()
⚠️ ИИ вызывает новый дефицит памяти
Дата-центры для AI потребляют столько памяти, что её начинает не хватать остальной электронике.
Что происходит на рынке:
- Контрактные цены на DRAM выросли на 75% всего за месяц
- Поставщики пересматривают цены ежедневно
- Основные объёмы памяти уходят в AI-серверы
Главная причина - переход на HBM (High Bandwidth Memory).
HBM - это многослойная память (8–12 слоёв DRAM), которая работает рядом с ускорителями Nvidia и AMD и обеспечивает экстремальную пропускную способность.
Масштаб потребления:
- Один ускоритель Nvidia Blackwell — до 192 GB HBM
- Система NVL72 - 13.4 TB памяти
Прогнозы:
- Спрос на HBM вырастет на 70% в 2026 году
- Уже сейчас HBM занимает 23% производства DRAM (против 19% в 2025)
Что это значит для рынка:
Обычной памяти становится меньше для:
- смартфонов
- ПК
- автомобилей
- игровых консолей
Выигрывают производители:
Samsung, SK Hynix, Micron - рост маржи.
Проигрывают продуктовые команды и компании,
которые не могут заранее выкупить поставки.
Главный вывод:
ИИ начинает влиять не только на софт и модели.
Он уже перераспределяет физические ресурсы всей индустрии электроники.
🖥 Новый курс на Stepik - PostgreSQL для разработчиков: от основ к созданию API
Здесь на пальцах объясняют не только как писать SQL-запросы, а строить настоящие backend-сервисы с базой данных как у профи.
В этом курсе ты шаг за шагом создашь REST API на FastAPI + PostgreSQL:
от установки среды и первых таблиц - до масштабируемого приложения с безопасностью и CRUD-операциями.
🔹 На практике разберете:
• SQL-запросы, фильтры, агрегаты и подзапросы
• Связи между таблицами и нормализацию БД
• Взаимодействие Python и PostgreSQL
• Реализацию REST API и подключение базы
• Оптимизацию и разбор реальных задач с собеседований
⚡ После курса у вас будет свой работающий API-проект и реальные навыки работы с PostgreSQL в продакшене.
🎁 Торопись пока действует скидка в честь нвого года!
🚀 Прокачаю свои знания: https://stepik.org/course/255542/
🐳 Как запустить DeepSeek у себя на ПК через Python
Главная ошибка новичков - сразу ставить огромные модели.
Начни с компактной версии, проверь, что всё запускается, и только потом увеличивай размер.
Алгоритм простой:
1) ставим зависимости
2) качаем лёгкую модель DeepSeek
3) проверяем, что она отвечает
4) при необходимости включаем GPU или берём квантизованную версию
Так ты избежишь вылетов, перегрузки памяти и быстрее получишь рабочий результат.
Читать полностью…
установить зависимости
pip install transformers accelerate torch sentencepiece
# пример запуска DeepSeek из Python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_name = "deepseek-ai/deepseek-coder-6.7b-base"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
device_map="auto" # если есть GPU — модель сама её использует
)
prompt = "Напиши на Python функцию, которая проверяет, простое ли число."
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=160,
temperature=0.4
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
🖥 Python: пакет packaging стал ощутимо быстрее — и это реально заметно в больших проектах
Свежий апдейт библиотеки packaging (библиотека, которую используют pip и многие инструменты для сравнения версий и работы с зависимостями) принёс заметное ускорение ключевых операций. Это важно, потому что такие функции вызываются тысячи раз при установке зависимостей, разрешении версий и т.д.
Главное, что ускорили:
• Быстрее парсинг и сравнение версий (`Version` и `SpecifierSet`).
• Некоторые операции (сравнения, фильтрации, хэши) стали в несколько раз быстрее.
• Оптимизации направлены на самые “узкие места”, которые чаще всего тормозят pip и другие инструменты.
Почему это важно для тебя:
• pip будет работать быстрее при установке больших стеков зависимостей.
• Инструменты сборки и CI/CD быстрее считают совместимость версий.
• Оптимизация сделана без потери корректности и без усложнения API.
В целом это пример, как базовая утилита в экосистеме Python может ускориться не из-за нового синтаксиса, а за счёт глубокого профилирования и целевых улучшений.
Подробнее о скорости и измерениях — в исходном разборе изменений.
https://iscinumpy.dev/post/packaging-faster/
🐍 Самая крутая фича Python 3.14 - `sys.remote_exec()` (объясняю по-человечески)
Идея простая:
✅ у тебя уже запущено Python-приложение (например FastAPI в Docker/K8s)
✅ оно уже дошло до нужного состояния (в памяти есть переменные, сессии, кеши)
❌ но тебе нужно посмотреть “что внутри” или поставить дебаггер
Раньше ты делал так:
- добавлял debugpy в код
- перезапускал приложение
- заново воспроизводил баг
Python 3.14 даёт новый чит-код:
sys.remote_exec() позволяет выполнить кусок Python-кода ВНУТРИ уже работающего Python-процесса.
То есть буквально “вколоть” скрипт в живой процесс.
Это как:
🔹 зайти внутрь процесса
🔹 выполнить print(), импорт, запись переменных
🔹 или даже подключить дебаггер
без рестарта вообще.
Пример: что можно сделать через sys.remote_exec()
Допустим у нас есть работающий процесс Python.
1) Мы хотим “добавить” туда код:
- вывести PID
- посмотреть глобальные переменные
- записать лог
- даже поменять значение переменной
# Этот код выполняется СНАРУЖИ и запускает инжект внутрь процесса
import sys
target_pid = 12345 # PID запущенного Python процесса
payload = r"""
import os
import time
print("✅ Injected into running process!")
print("PID:", os.getpid())
print("Time:", time.time())
# Пример: читаем что есть в глобальном пространстве
g = globals()
print("Globals keys sample:", list(g.keys())[:10])
# Пример: создаём переменную прямо в процессе
INJECTED_FLAG = True
"""
# Новое API Python 3.14
sys.remote_exec(target_pid, payload)
import sys
target_pid = 12345 # PID работающего uvicorn / fastapi процесса
payload = r"""
import debugpy
HOST = "0.0.0.0"
PORT = 5679
debugpy.listen((HOST, PORT))
print(f"🐞 debugpy is listening on {HOST}:{PORT}")
# если хочешь остановить выполнение и ждать пока подключишь IDE:
# debugpy.wait_for_client()
# print("✅ debugger attached!")
"""
sys.remote_exec(target_pid, payload)
🔥 КАК РАБОТАЕТ ВНИМАНИЕ (ATTENTION) В ТРАНСФОРМЕРАХ
Механизм внимания - это способ для модели “смотреть” на разные слова в тексте и решать, какие из них сейчас важнее.
Представь фразу: “Я положил ключи на стол, потому что он был рядом”.
Слово “он” должно ссылаться на “стол”, а не на “ключи”.
Внимание делает ровно это - для каждого слова вычисляет, на какие другие слова нужно опираться сильнее.
Как это работает в одном абзаце:
Для каждого токена модель строит три вектора - Query (что я ищу), Key (что я из себя представляю), Value (какую информацию несу).
Считается “похожесть” Query к каждому Key - это оценки важности.
Оценки нормализуются (softmax), чтобы получились веса от 0 до 1.
Итоговое представление токена - это взвешенная сумма Value по всем токенам.
То есть модель смешивает информацию из контекста, но делает это умно - больше веса тем словам, которые сейчас важны.
Почему это суперсила:
вместо того чтобы читать текст строго слева направо, модель может связывать дальние куски, находить нужные факты и строить смысловые зависимости. Именно поэтому трансформеры так хорошо работают с языком, кодом и длинным контекстом.
Читать полностью…
import numpy as np
def softmax(x: np.ndarray) -> np.ndarray:
x = x - np.max(x) # стабилизация
e = np.exp(x)
return e / np.sum(e)
# Допустим, у нас 3 токена в контексте.
# Для простоты возьмём маленькую размерность векторов (d=2).
# Query - "что я ищу"
# Key - "что я такое"
# Value - "какую инфу несу"
Q = np.array([1.0, 0.5]) # Query для текущего токена (например, слово "он")
K = np.array([
[1.0, 0.0], # Key токена 1 (например, "ключи")
[0.9, 0.1], # Key токена 2 (например, "стол")
[0.0, 1.0], # Key токена 3 (например, "рядом")
])
V = np.array([
[10.0, 0.0], # Value токена 1
[0.0, 10.0], # Value токена 2
[5.0, 5.0], # Value токена 3
])
# 1) Считаем "похожесть" Q на каждый K через скалярное произведение
scores = K @ Q # shape: (3,)
print("scores:", scores)
# 2) Нормализуем оценки -> получаем веса внимания
weights = softmax(scores)
print("attention weights:", weights)
# 3) Итоговый вектор = взвешенная сумма Value
output = weights @ V # shape: (2,)
print("output (context mixed):", output)
# Интерпретация:
# Если вес токена 2 ("стол") самый большой, значит модель "смотрит" на него сильнее всего.
Используй `pdb` вместо print для надежной отладки!
Использование оператора `print` для отладки может привести к недоразумениям и пропущенным ошибкам, поскольку он не позволяет видеть контекст выполнения программы. Вместо этого используйте встроенные инструменты для отладки, такие как `pdb`, которые дают возможность устанавливать точки остановки, отслеживать выполнение и исследовать состояние переменных в реальном времени.
Подписывайся, больше фишек каждый день !
import pdbЧитать полностью…
def calculate_factorial(n):
if n < 0:
raise ValueError("Negative values are not allowed")
elif n == 0:
return 1
else:
return n * calculate_factorial(n - 1)
def main():
num = 5
pdb.set_trace() # Запускаем отладчик здесь
result = calculate_factorial(num)
print(f"Factorial of {num} is {result}")
if __name__ == "__main__":
main()
t.me/ai_machinelearning_big_data - наш телеграм канал с уроками
🧊 pyPFC - Python-библиотека для Phase Field Crystal (PFC) симуляций
Если ты занимаешься моделированием материалов, кристаллов или фазовых переходов - сохрани.pyPFC позволяет запускать PFC-симуляции быстро и удобно прямо на Python.
Что такое Phase Field Crystal (PFC)?
PFC (Phase Field Crystal) - это метод моделирования, который описывает материал как непрерывное поле плотности.
Проще:
- вместо того чтобы симулировать каждый атом отдельно (как в molecular dynamics)
- PFC моделирует “узор кристаллической решётки” как волну/поле
За счёт этого PFC может моделировать процессы на более длинных временных масштабах, чем классические атомарные симуляции.
PFC используют, чтобы изучать:
- рост кристаллов и формирование структуры
- дефекты решётки (дислокации)
- зернистость и границы зёрен
- фазовые переходы и самоорганизацию
- поведение материалов при охлаждении/нагреве
Что даёт pyPFC:
⚡ ускорение на GPU через PyTorch (можно гонять и на CPU, и на RTX)
🧪 готовые 3D-симуляции, примеры, эксперименты
🧩 удобно для исследований и обучения
📦 open-source проект + нормальная инженерная структура
GitHub:
https://github.com/HHallb/pyPFC
🧠 Python-задача с собеседования: найди ошибку
Код должен посчитать количество чисел больше среднего значения в списке.
def count_above_avg(nums, avg=sum(nums)/len(nums)):
count = 0
for n in nums:
if n > avg:
count += 1
return count
data1 = [1, 2, 3, 4, 5]
data2 = [10, 20, 30]
print(count_above_avg(data1))
print(count_above_avg(data2))
Python : подробный путеводитель с примерами кода 2026 года
Этот материал предназначен для новичков и тех, кто хочет систематизировать знания по языку программирования Python.
В статье рассматриваются основные конструкции языка и показаны примеры кода для самых разных задач - от работы со строками до асинхронных запросов и анализа данных. Все примеры снабжены пояснениями, чтобы вы понимали не только как, но и почему.
📌 Подробнее