Python разработчик — от 100 000 ₽, удалёнка
Python-разработчик — от 195 000 до 250 000 ₽, удалёнка
Django Backend Developer — от 250 000 до 330 000 ₽, гибрид (Санкт-Петербург)
Программист-разработчик Python — от 200 000 ₽, офис (Москва)
Team Lead Python (E-commerce), офис (Москва)
Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5👍2
Mojo — компилируемый язык с синтаксисом Python и скоростью C. Создан для ML, численных вычислений и высокопроизводительного кода.
Теперь Python умеет напрямую вызывать Mojo-функции — и это меняет игру.
1. Установка:
uv pip install modular --index-url https://dl.modular.com/public/nightly/python/simple/
2. Mojo-функция:
fn factorial(py_obj: PythonObject) raises -> PythonObject:
var n = Int(py_obj)
var result = 1
for i in range(1, n + 1):
result *= i
return result
3. Вызов из Python:
import mojo_module
print(mojo_module.factorial(10))
На
factorial(10)
разница небольшая.Но при подсчёте простых чисел до 20 000:
— Python: \~0.45 сек
— NumPy: \~0.26 сек
— Mojo: \~0.01 сек (!)
При больших числах (
factorial(100)
) возможны переполнения — тип Int
ограничен. Также Mojo всё ещё в стадии активной разработки.Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤6❤🔥1
Сейчас большинство представлений об ИИ ограничиваются одним агентом — моделькой, которая что-то предсказывает, генерирует или классифицирует.
Но реальный прорыв начинается, когда этих агентов становится несколько.
Когда они начинают взаимодействовать друг с другом.
Когда появляется координация, распределение ролей, память, планирование — всё это и есть мультиагентные системы (MAS).
— Microsoft делает язык DroidSpeak для общения между LLM
— Open Source-фреймворки вроде LangChain, AutoGen, CrewAI, LangGraph — бурно развиваются
— компании, включая МТС, уже применяют MAS в боевых задачах
🎓 На курсе мы подходим к этому практично:
Именно на третьем уроке вы впервые собираете не просто «умного бота», а живую систему из агентов, которая работает вместе — как команда.
Причём по-настоящему: врач, SQL-аналитик, travel-планировщик, Python-генератор, поисковик.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1
GIL — удобное решение для безопасности, но стало тормозом.
— Guido van Rossum
GIL (Global Interpreter Lock) — глобальная блокировка интерпретатора Python. Она не даёт выполнять Python-байткод более чем одному потоку одновременно.
Это решение появилось ещё в 90-х, когда одноядерные процессоры были нормой. Сейчас же — реальность многопоточная. А GIL мешает полностью использовать многозадачность на уровне CPU.
Из-за GIL Python-программы не могут полноценно использовать многопоточность в CPU-bound задачах. Вместо этого:
— мы используем
multiprocessing
, создавая отдельные процессы (дорого)— мы прибегаем к C-библиотекам: NumPy, Cython, PyTorch, чтобы обойти ограничения
Но всё это — костыли. И комьюнити давно мечтает избавиться от GIL.
PEP 703 предлагает сделать GIL опциональным.
Вместо полного отказа от GIL — аккуратный переход:
1. Python 3.13 (вышел в 2024) — можно собрать без GIL (
--disable-gil
)2. 2026–2027 — возможность переключения GIL в рантайме
3. 2028+ — по умолчанию Python будет без GIL
1. Скачайте установщик Python 3.13 с офсайта
2. На этапе установки выберите Free-threaded Python (experimental)
3. После установки появятся два интерпретатора:
—
python3.13
— обычный—
python3.13t
— Python без GILПроверьте:
import sysconfig
print(sysconfig.get_config_var("Py_GIL_DISABLED"))
# True для python3.13t
Пример CPU-bound задачи с потоками:
import threading, time
def cpu_task(n):
s = 0
for i in range(n): s += i*i
N = 100_000_000
def run():
threads = [threading.Thread(target=cpu_task, args=(N,)) for _ in range(4)]
start = time.time()
for t in threads: t.start()
for t in threads: t.join()
print(f'{time.time() - start:.2f} сек')
run()
— Python 3.13:
~13.5 сек
— Python 3.13t (без GIL):
~3.7 сек
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21👍8🔥5⚡1
🪲 Промт дня: отлаживаем сложный Python-код и находим баг
Ваш код падает или даёт странный результат?
Сложный пайплайн, цепочка функций, куча вложенностей — непонятно, где именно всё ломается?
Попросите ChatGPT:
✅ Отлично работает при отладке ETL, API-обработчиков, ML-инференса, CLI-скриптов.
Библиотека питониста #буст
Ваш код падает или даёт странный результат?
Сложный пайплайн, цепочка функций, куча вложенностей — непонятно, где именно всё ломается?
Попросите ChatGPT:
Вот мой Python-код. Помоги понять:
– Где может быть логическая ошибка или утечка
– Как упростить дебаг: добавить логгеры, трассировку, breakpoints
– Как использовать pdb, breakpoint(), icecream или rich
– Как логировать шаги пайплайна так, чтобы не утонуть в логе
– Как изолировать и проверить проблемный блок
– Какие edge-кейсы я, возможно, упустил
– Как ловить исключения правильно и писать meaningful ошибки
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🤖 Нейросети для дата-сайентиста: свежий гид по инструментам
Мир нейросетей меняется каждый день — выбрать подходящий инструмент для задач Data Science непросто.
Мы собрали в статье то, что действительно работает: какие модели помогают автоматизировать рутину, ускоряют кодинг и дают ощутимый буст продуктивности.
📊 Что выбрать под вашу задачу — читайте в обзоре!
📌 Подробнее: https://proglib.io/sh/yq0MaQtHrn
Библиотека дата-сайентиста #буст
Мир нейросетей меняется каждый день — выбрать подходящий инструмент для задач Data Science непросто.
Мы собрали в статье то, что действительно работает: какие модели помогают автоматизировать рутину, ускоряют кодинг и дают ощутимый буст продуктивности.
📊 Что выбрать под вашу задачу — читайте в обзоре!
📌 Подробнее: https://proglib.io/sh/yq0MaQtHrn
Библиотека дата-сайентиста #буст
👍6❤3
👓 Отслеживаем, какие ключи словаря в Python вы не использовали
Иногда полезно знать, какие поля данных вы вообще не задействовали — например, чтобы убедиться, что все данные из базы реально применяются в отчёте или покрыты тестами.
Представьте, что у вас SQL-запрос вида:
Но в итоговом CSV-экспорте вы используете только
✅ Класс TrackingDict
Пример использования:
Выведет:
✅ Зачем это нужно
— Убедиться, что все важные данные действительно используются в отчётах.
— Проверить покрытие тестами — например, в
✅ Типизированная версия:
Библиотека питониста #буст
Иногда полезно знать, какие поля данных вы вообще не задействовали — например, чтобы убедиться, что все данные из базы реально применяются в отчёте или покрыты тестами.
Представьте, что у вас SQL-запрос вида:
SELECT fieldX, fieldY, fieldZ FROM ...
Но в итоговом CSV-экспорте вы используете только
fieldX
и fieldY
. Как понять, что fieldZ
остался неиспользованным?class TrackingDict(dict):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._accessed_keys = set()
def __getitem__(self, key):
self._accessed_keys.add(key)
return super().__getitem__(key)
@property
def accessed_keys(self):
return self._accessed_keys
@property
def never_accessed_keys(self):
return set(self.keys()) - self._accessed_keys
Пример использования:
user = {
"name": "John Doe",
"age": 30,
"email": "[email protected]",
}
user = TrackingDict(user)
assert user["name"] == "John Doe"
print("Использованные ключи:", user.accessed_keys)
print("Неиспользованные ключи:", user.never_accessed_keys)
Выведет:
Использованные ключи: {'name'}
Неиспользованные ключи: {'email', 'age'}
— Убедиться, что все важные данные действительно используются в отчётах.
— Проверить покрытие тестами — например, в
pytest
:assert not user.never_accessed_keys, f"Вы не проверили {user.never_accessed_keys}"
from typing import TypeVar, Any
K = TypeVar('K')
V = TypeVar('V')
class TrackingDict(dict[K, V]):
"""
Словарь с отслеживанием использованных ключей.
"""
def __init__(self, *args: Any, **kwargs: Any) -> None:
super().__init__(*args, **kwargs)
self._accessed_keys: set[K] = set()
def __getitem__(self, key: K) -> V:
self._accessed_keys.add(key)
return super().__getitem__(key)
@property
def accessed_keys(self) -> set[K]:
return self._accessed_keys
@property
def never_accessed_keys(self) -> set[K]:
return set(self.keys()) - self._accessed_keys
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍8🔥2
🔄 Breaking Changes в Python: как сделать их менее болезненными
На саммите Python Language Summit 2025 инженеры из Meta* поделились опытом массового деплоя Python-кода в прод и тем, как breaking changes усложняют жизнь разработчикам.
▶️ Суть проблемы
Breaking changes — это изменения в языке или стандартной библиотеке, которые ломают совместимость. Они неизбежны, но можно и нужно сделать их предсказуемыми и управляемыми.
▶️ Классификация breaking changes по «болезненности»
1️⃣ Легко находимые
— Можно найти через AST, grep, линтеры
— Примеры: удалённые функции, изменённые аргументы
2️⃣ Находятся при сборке/импорте
— Ошибки видны сразу при запуске или импорте
— Например: изменения в
3️⃣ Проявляются только во время исполнения
— Ошибки зависят от типа/значения
— Самые опасные: ловятся только тестами или в проде
▶️ Что можно улучшить
— Создать таксономию изменений по степени влияния
— Публиковать понятные гайды миграции, включая альтернативы и отличия API
— Сохранять документацию удалённых модулей
— Поддерживать тестирование на pre-release-версиях Python
— Разработать автоматические фиксаторы (например, с использованием Ruff)
▶️ Что обсуждали в комьюнити
—
— Успешный опыт pre-release CI у научного Python
— Идея: «экосистемные тесты» по dependency graph — проверять библиотеки заранее
💬 Вопрос на последок:
Напишите в комментарии или выберите реакцию:
🔥 — Лучше ломать, но двигаться вперёд
❤️ — Нет, стабильность важнее новых фич
👍 — Зависит от масштаба проекта
💥 Понравился пост? С ваc буст, а с нас больше топового контента!
Библиотека питониста #междусобойчик
* признанной экстремистской на территории Российской Федерации
На саммите Python Language Summit 2025 инженеры из Meta* поделились опытом массового деплоя Python-кода в прод и тем, как breaking changes усложняют жизнь разработчикам.
Breaking changes — это изменения в языке или стандартной библиотеке, которые ломают совместимость. Они неизбежны, но можно и нужно сделать их предсказуемыми и управляемыми.
— Можно найти через AST, grep, линтеры
— Примеры: удалённые функции, изменённые аргументы
— Ошибки видны сразу при запуске или импорте
— Например: изменения в
dataclasses
в 3.12— Ошибки зависят от типа/значения
— Самые опасные: ловятся только тестами или в проде
— Создать таксономию изменений по степени влияния
— Публиковать понятные гайды миграции, включая альтернативы и отличия API
— Сохранять документацию удалённых модулей
— Поддерживать тестирование на pre-release-версиях Python
— Разработать автоматические фиксаторы (например, с использованием Ruff)
—
typing-extensions
ломал pydantic
: предлагали автоматические тесты зависимых проектов— Успешный опыт pre-release CI у научного Python
— Идея: «экосистемные тесты» по dependency graph — проверять библиотеки заранее
💬 Вопрос на последок:
Что важнее: эволюция языка или стабильность экосистемы?
Напишите в комментарии или выберите реакцию:
🔥 — Лучше ломать, но двигаться вперёд
❤️ — Нет, стабильность важнее новых фич
👍 — Зависит от масштаба проекта
Библиотека питониста #междусобойчик
* признанной экстремистской на территории Российской Федерации
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥7❤4👾1
💡 Git Notes — тайная фича Git, о которой никто не говорит
Представьте: вы не можете изменить старый коммит, но вам нужно оставить комментарий. Вот тут и приходят на помощь git notes:
И теперь:
🛠 Где это уже используется
— Git-проект сам хранит ссылки на обсуждения коммитов в mailing-листе в notes.
— В Gerrit через плагин
— Некоторые команды используют notes, чтобы считать потраченное время на фичу или хранить автоматические отчёты.
🚀 Да, можно даже свой GitHub построить
Проект git-appraise от Google — распределённая система code review прямо внутри Git. Без сервера, с возможностью писать ревьюшки, комментировать и даже мёржить изменения — всё оффлайн.
🤔 Почему никто не использует
— Неочевидный UX
— Плохо документировано
— Не поддерживается большинством хостингов (GitHub, GitLab не показывают notes)
📌 Но если вы разрабатываете свой CI/CD, систему ревью или просто автоматизируете dev workflow — git notes могут быть сокровищем.
Библиотека питониста #буст
git notes
позволяют добавлять метаданные к любому объекту в git (commit, tree, blob) без изменения самих объектов.Представьте: вы не можете изменить старый коммит, но вам нужно оставить комментарий. Вот тут и приходят на помощь git notes:
git notes add -m 'Reviewed-by: QA Bot'
И теперь:
git log
# ...
# Notes:
# Reviewed-by: QA Bot
🛠 Где это уже используется
— Git-проект сам хранит ссылки на обсуждения коммитов в mailing-листе в notes.
— В Gerrit через плагин
reviewnotes
можно добавлять результаты тестов и ревью прямо в git log
.— Некоторые команды используют notes, чтобы считать потраченное время на фичу или хранить автоматические отчёты.
🚀 Да, можно даже свой GitHub построить
Проект git-appraise от Google — распределённая система code review прямо внутри Git. Без сервера, с возможностью писать ревьюшки, комментировать и даже мёржить изменения — всё оффлайн.
🤔 Почему никто не использует
— Неочевидный UX
— Плохо документировано
— Не поддерживается большинством хостингов (GitHub, GitLab не показывают notes)
📌 Но если вы разрабатываете свой CI/CD, систему ревью или просто автоматизируете dev workflow — git notes могут быть сокровищем.
Библиотека питониста #буст
❤6👏2
🤯 Мы больше года строим мультиагентные системы
Грабли, находки, паттерны, эксперименты — всё это накопилось и в какой-то момент стало жалко держать только у себя.
Никита — рассказывает (и показывает) базу: токенизация, LLM, SFT, PEFT, локальный инференс + RAG и как оценивать его качество.
Диана — как строят мультиагентные системы, какие есть паттерны проектирования и библиотеки.
Макс — про инференс в проде + разберет CoPilot, соберет с вами из кусочков свой копайлот, а затем его сломает через prompt injection. // Макс фанат autogen (а если нет — он вас разубедит в своем классном канале)
Финальным аккордом Дима углубится в MCP и соберет несколько кейсов повзрослее.
Курс тут: https://clc.to/47pgYA
Промокод:datarascals действует до 23:59 29 июня
Грабли, находки, паттерны, эксперименты — всё это накопилось и в какой-то момент стало жалко держать только у себя.
Никита — рассказывает (и показывает) базу: токенизация, LLM, SFT, PEFT, локальный инференс + RAG и как оценивать его качество.
Диана — как строят мультиагентные системы, какие есть паттерны проектирования и библиотеки.
Макс — про инференс в проде + разберет CoPilot, соберет с вами из кусочков свой копайлот, а затем его сломает через prompt injection. // Макс фанат autogen (а если нет — он вас разубедит в своем классном канале)
Финальным аккордом Дима углубится в MCP и соберет несколько кейсов повзрослее.
Курс тут: https://clc.to/47pgYA
Промокод:
❤4😁3
Часто смена одного неудачного алгоритма кардинально меняет ситуацию: запросы начинают выполняться за миллисекунды, а жалобы пользователей исчезают.
Читайте дальше: https://proglib.io/sh/BZ6EzqDbaW
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥3
🧩 Задача: неожиданный результат с изменением словаря
Что выведет следующий код?
❓ Вопросы:
1. Какой будет вывод каждой из трёх строк?
2. Почему
3. Как изменить функцию, чтобы оригинальный словарь не менялся, а возвращалась новая копия с обновлённым значением?
Подвох:
Словари — изменяемые объекты, передаются по ссылке, поэтому любые изменения внутри функции влияют на оригинал.
Решение:
Что проверяет задача:
✅ Понимание изменяемых объектов и передачи по ссылке в Python
✅ Умение создавать копии объектов для избежания побочных эффектов
✅ Навыки работы с функциями и аргументами
Библиотека питониста #междусобойчик
Что выведет следующий код?
def update_dict(d, key, value):
d[key] = value
return d
my_dict = {'a': 1, 'b': 2}
print(update_dict(my_dict, 'c', 3))
print(update_dict(my_dict, 'd', 4))
print(my_dict)
❓ Вопросы:
1. Какой будет вывод каждой из трёх строк?
2. Почему
my_dict
меняется после вызова функции?3. Как изменить функцию, чтобы оригинальный словарь не менялся, а возвращалась новая копия с обновлённым значением?
Подвох:
Решение:
def update_dict(d, key, value):
new_dict = d.copy()
new_dict[key] = value
return new_dict
Что проверяет задача:
Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍6🔥3
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
❤4🔥3🥰1
🐍 Свежие релизы Python‑пакетов за последние 7 дней
✅ Gymnasium 1.2.0 — новая версия «переименованного» Gym: единое API для RL‑задач и обширный набор окружений
✅ LangGraph 0.5.0 — фреймворк для построения stateful‑приложений с несколькими LLM‑акторами
✅ aioboto3 15.0.0 — асинхронная обёртка над boto3 для AWS
✅ lxml 6.0.0 — мощная обработка XML на базе libxml2/libxslt + ElementTree
✅ transformers 4.53.0 — SOTA‑модели для JAX, PyTorch и TensorFlow
✅ mcp 1.10.0 — SDK для Model Context Protocol
✅ chdb 3.4.0 — in‑process OLAP‑движок на ClickHouse
✅ Diffusers 0.34.0 — диффузионные модели в PyTorch и JAX
✅ junitparser 4.0.0 — манипуляция XML‑отчётами JUnit/xUnit
✅ Pybtex 0.25.0 — процессор BibTeX‑совместимых библиографий
✅ Instructor 1.9.0 — структурированный вывод из LLM
✅ Robyn 0.70.0 — супершустрый async‑фреймворк на Rust‑рантайме
Библиотека питониста #свежак
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡8❤3👍2
Forwarded from Библиотека задач по Data Science | тесты, код, задания
Что выведет код?
Anonymous Quiz
57%
{1:3, 2:4}
4%
{3:1, 4:2}
29%
{1: [3, 4], 2: [3, 4]}
11%
{[1, 2]:[3, 4], [1, 2]:[3, 4]}
👍8🔥2
Программист Python junior — от 90 000 до 125 000 ₽, гибрид (Москва)
Python/ML Lead — от 300 000 ₽, гибрид (Москва)
Senior Python Developer — от 6 000 до 7 000 $, удалёнка
Backend разработчик (Python DRF), удалёнка
Python-разработчик (FastAPI/Django, Kafka, PostgreSQL) — от 150 000 до 170 000 ₽, удалёнка
Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
Проблема: для понимания внутренней механики квантовых вычислений полезно иметь собственный симулятор. Однако большинство разработчиков используют готовые библиотеки (Qiskit, Cirq), что скрывает фундаментальные детали: как образуются суперпозиции, проводятся операции, как происходит измерение.
Решение: авторы предлагают построить пошаговый симулятор, реализованный на Python. Это не просто упражнение — это шанс «потрогать» основы: векторы состояния, гейты, измерения и крах симуляции при измерении. В репозитории из официального companion‑кода иллюстрируется весь процесс.
Ниже упрощённая версия – ключевые части симулятора из главы о квантовых состояниях:
import numpy as np
class QubitRegister:
def __init__(self, n):
self.n = n
# старт: |0…0⟩
self.state = np.zeros(2**n, dtype=complex)
self.state[0] = 1.0
def apply_gate(self, gate, target):
"""Применяет матричный gate к qubit 'target'"""
full = 1
for i in range(self.n):
full = np.kron(full, gate if i == target else np.eye(2))
self.state = full @ self.state
def measure(self):
probs = np.abs(self.state)**2
outcome = np.random.choice(len(probs), p=probs)
# Проекция на классическое состояние
result = np.zeros_like(self.state)
result[outcome] = 1.0
self.state = result
return bin(outcome)[2:].zfill(self.n)
# Использование:
qr = QubitRegister(2)
H = np.array([[1, 1], [1, -1]]) / np.sqrt(2)
qr.apply_gate(H, target=0) # суперпозиция первого qubit
print("Перед измерением:", qr.state)
print("Измерено:", qr.measure())
Преимущества:
— Глубинное понимание формирования состояния и действия гейтов.
— Код открыт, минималистичен, легко адаптируется.
— Прекрасная демонстрация квантового измерения на уровне программиста.
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍7🔥4