Обнаружение браузера Opera больше не работает

Единственное, что вы можете проверить, это равенство кода:

>>> x = lambda x: x
>>> y = lambda y: y
>>> x.__code__.co_code
'|\x00\x00S'
>>> x.__code__.co_code == y.__code__.co_code
True

Здесь байт-код для обеих функций одинаковый. Вам, возможно, понадобится проверить больше аспектов объектов кода (постоянные и замыкания приходят в голову), но равный байт-код должен равняться одному и тому же пути выполнения.

Есть, конечно, способы создания функций, которые возвращают одинаковое значение для одного и того же входа, но с другим байт-кодом; всегда есть много способов скрыть рыбу.

-8
задан Medeno 26 November 2013 в 10:28
поделиться