Возможно ли использовать декораторы python для отметки метода и получить его для последующего использования, если я не знаю имени обернутой функции?Декораторы Python: howto перечисляет завернутые функции декоратором
Вот пример, и я не знаю имя method_with_custom_name:
@run_this_method
def method_with_custom_name(my_arg):
return "The args is: " + my_arg
def _init_and_run():
# Here, I want to get and call method_with_custom_name
# but I don't know it's name,
# so the next line isn't valid.
return run_this_method()(my_arg_value)
def run_this_method(m):
def w(my_arg):
_do_some_magic(my_arg, m)
return w
def _do_some_magic(callback_arg, callback):
if some_checks():
callback(callback_arg)
Так как я могу получить список методов, обернутых @run_this_method
Нет, вам не нужно вводить глобальное состояние, чтобы сделать это, больше, чем вы когда-либо нужно ввести глобальное состояние для отслеживания всего в приложении. –
Спасибо, что работает. – dkiselev
@ Two-BitAlchemist, может уточнить, как это можно реализовать без глобального состояния? –