Ответ 1
Python не нуждается в чем-то вроде "языкового расширения" для возможности работать в аспекте Ориентированным способом.
Это просто из-за динамических механизмов в самом Python. Поиск в Google даст несколько проектов - но, несмотря на то, что они выглядят просто как библиотеки, все это необходимо в Python.
Я этого не делаю - это факт, что вы можете исследовать классы и методы и изменять их во время выполнения. Когда я впервые узнал об ориентации Aspect, я мог бы реализовать несколько доказательств концепций в Python через пару часов - конечно, некоторые из существующих проектов могут предлагать качественные записи.
Но поскольку вы спросили, существует ли языковое расширение Python, которое может использоваться для ориентации Aspect: когда я сделал доказательство концепции, о которой я упоминал выше, я использовал проверку входных параметров на методы во время выполнения чтобы определить, повлияет ли на определенные методы правило или нет.
В Python 3 есть небольшая известная особенность языка, которая позволяет аннотировать входные параметры и возвращаемое значение функции или метода. Библиотека ориентации ориентации могла бы использовать это, чтобы применить свою магию в "время загрузки", а не во время каждого вызова функции.
Кстати, вот мой быстрый хак, чтобы получить рабочий пример использования ориентации Aspect с Pure Python. Извините - комментарии коментариев находятся в pt_BR - https://bitbucket.org/jsbueno/metapython/src/f48d6bd388fd/aspect.py