Я создаю сценарий, который на самом деле является средой, в которой другие пользователи могут писать код.
Я объявил несколько методов в классе и создал экземпляр объекта, чтобы пользователи могли использовать эти методы как простые функции интерпретатора, например:
from code import interact
class framework:
def method1(self, arg1):
# code for method1
def method2(self, arg2):
# code for method2
def main():
fw = framework()
# Aliases
method1 = fw.method1
method2 = fw.method2
interact(local=locals())
Поскольку я не хочу, чтобы пользователь вызывал методы с fw.method1(arg)
, я настроил псевдонимы. Проблема в том, что, поскольку класс инфраструктуры находится в стадии разработки, я должен постоянно обновлять основной скрипт новыми псевдонимами для методов, которые я создаю.
Есть ли простой способ избавиться от части "fw.
" в вызовах, и все методы в рамках класса автоматически отображаются в main?