cpython

  • ХабрахабрФото Устройство CPython. Доклад Яндекса

    Устройство CPython. Доклад Яндекса

    Мы публикуем конспект вступительной лекции видеокурса «Бэкенд-разработка на Python». В ней Егор Овчаренко egorovcharenko, тимлид в Яндекс.Такси, рассказал о внутреннем устройстве интерпретатора CPython. [embedded content] — Если кратко, какой у нас будет план? Сначала мы поговорим о том, почему будем изучать именно Python. Затем посмотрим, как работает интерпретатор CPython более глубоко, как он управляет памятью, как устроена система типов в…

    Читать далее »
  • ХабрахабрФото [Перевод] Реализуем преобразования кода на Python

    [Перевод] Реализуем преобразования кода на Python

    Привет, Хабр. Сегодня мы предлагаем вам перевод статьи, затрагивающей не самую обсуждаемую тему: компиляцию кода в Python, а именно: работу с абстрактным синтаксическим деревом (AST) и байт-кодом. Притом, что Python является интерпретируемым языком, такие возможности в нем чрезвычайно важны с точки зрения оптимизации. О них мы сегодня и поговорим.Вы когда-нибудь задумывались, как именно компилятор оптимизирует ваш код, чтобы он работал…

    Читать далее »
  • ХабрахабрФото [Из песочницы] О проблемах транслятора Python и переосмысление языка

    [Из песочницы] О проблемах транслятора Python и переосмысление языка

    Один будет писать реализацию, а 99 — говорить, что могут сделать лучше. — Сколько нужно архитекторов, чтобы реализовать язык программирования?— Сто. NET, Parakeet, Nuitka, Stackless, Unladen Swallow), половина из которых уже умерла, и вряд мало кто понял, почему у них не было шансов победить в борьбе за выживание против других языков. В этой статье я хочу затронуть не столько сам…

    Читать далее »
  • ХабрахабрФото Объекты без циклических ссылок и циклической сборки мусора

    Объекты без циклических ссылок и циклической сборки мусора

    Это увеличивает след в памяти каждого экземпляра и может создавать проблемы с памятью в высоконагруженных системах. Каждый экземпляр класса в CPython, созданный при помощи синтаксической конструкции class, участвует в механизме циклической сборки мусора. Нельзя ли обойтись в случае необходимости одним базовым механизмом подсчета ссылок? Разберем один подход, который поможет создавать классы, чьи экземпляры будут удаляться только с помощью механизма подсчета ссылок. Немного о механизме…

    Читать далее »
  • СофтФото [Перевод] Реверс-инжиниринг клиента Dropbox

    [Перевод] Реверс-инжиниринг клиента Dropbox

    TL;DR. В статье рассказывается об обратной разработке клиента Dropbox, взломе механизмов обфускации и декомпиляции клиента на Python, а также изменении программы для активации функций отладки, которые скрыты в обычном режиме. Если вас интересует только соответствующий код и инструкции, пролистайте до конца. На момент написания статьи код совместим с последними версиями Dropbox, основанными на интерпретаторе CPython 3.6. Введение Dropbox очаровал меня…

    Читать далее »
  • ХабрахабрФото Micropython на GSM+GPS модуле A9G

    Micropython на GSM+GPS модуле A9G

    На рынке есть масса автономных устройств для слежения за автомобилями, грузом, велосипедами, багажом, детьми и животными. В этот раз я задумался о том, чтобы спрятать в велосипед GPS-трэкер в качестве меры предосторожности. Более дорогие варианты предоставляют функциональность Find my phone, но привязаны к конкретному онлайн-сервису.В идеале хотелось бы иметь полный контроль над трекером: использовать его в удобном режиме без СМС…

    Читать далее »
  • ХабрахабрФото [Перевод] Жизненный цикл кода на Python – модель выполнения CPython

    [Перевод] Жизненный цикл кода на Python – модель выполнения CPython

    Всем привет! Наступила весна, а это значит, что до запуска курса «Разработчик Python» остается меньше месяца. Именно этому курсу и будет посвящена наша сегодняшняя публикация. Задачи: — Узнать о внутреннем устройстве Python;— Понять принципы построения абстрактного синтаксического дерева (AST);— Писать более эффективный код по времени и по памяти. Предварительные рекомендации: — Базовое понимания работы интерпретатора (AST, токены и т.д.).— Знание…

    Читать далее »
  • ХабрахабрФото [Перевод] Оптимизации, используемые в Python: список и кортеж

    [Перевод] Оптимизации, используемые в Python: список и кортеж

    В Python, есть два похожих типа — список (list) и кортеж (tuple). Самая известная разница между ними состоит в том, что кортежи неизменяемы. Вы не можете изменить объекты в tuple: >>> a = (1,2,3) >>> a[0] = 10 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment Но вы можете…

    Читать далее »


Кнопка «Наверх»