Тип-хит-хранение класса функции в оберткеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Тип-хит-хранение класса функции в обертке

Сообщение Anonymous »

Я проектирую декоратор @Action как часть API для сбора и обнаружения определенных методов в классе на бэкэнд, и я хотел бы, чтобы его параметры динамически отражали состояние экземпляра. Например: < /p>

Код: Выделить всё

class Player():
...
def _private_fun(): ...

@action(
param_type_factory = {
"target": lambda player: Literal[tuple(player.opponents)]
}
)
def attack_action(self, target):
...
Здесь, player.opponents меняется с течением времени, поэтому тип подсказка для Target должен обновляться каждый раз, прежде чем он будет использоваться бэкэнд. Но статический тип проверяет игрок флага как неизвестный внутри Lambda. Есть ли способ ввести намек на аргумент, переданную в Lambda как тип = игрок, который является классом приложения? Или лучше, тип подскажите на завод как < /p>
param_type_factory: Dict[
str,
Callable[[], Any]
]
< /code>
Таким образом, фабрика всегда получает экземпляр объекта = объект класса округа Образцы, например, Возвращение объекта действия: < /p>
@action
def attack_action(self):
return Action(
attack,
param_type_facotry = {
"target": Tuple[self.opponents]
}
)

def attack(self, target):
...
< /code>
Но это сложно разделить метаданные от логики. Любые идеи для более краткого, типа-безопасного/нажатия на тип рисунка/декоратор?
Большое спасибо!

Подробнее здесь: https://stackoverflow.com/questions/797 ... in-wrapper
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Тип-хит-хранение класса функции в обертке
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Как получить выбранную информацию в панели-обертке в WPF?
    Гость » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Гость
  • Swiperjs - наполнение на обертке
    Anonymous » » в форуме CSS
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как реализовать уведомления об обертке свойств в рамках в разных контекстах в Swift?
    Anonymous » » в форуме IOS
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как реализовать уведомления об обертке свойств в рамках в разных контекстах в Swift?
    Anonymous » » в форуме IOS
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»