У меня есть относительно большая программа, которую я разделил на модули - в результате существует много перекрытий между функциями в разных модулях, которые я сейчас работаю над удалением.вызов функции, переданной как аргумент без круглых скобок
Одна из проблем, с которыми я столкнулся, - это необходимость передавать функции и классы в качестве аргументов другим функциям и классам - прежде чем они будут определены.
Я знаю, что могу передать имя функции в виде строки и использовать exec(), я мог бы также теоретически использовать словари со стандартизованными ключами. Однако я хочу знать, как вызвать функцию, просто используя ее как объект в аргументах других функций.
Я знаю, что несколько функций и классов принимают беспочвенные функции в виде аргументов и вызывают их, поэтому я уверен, что это возможно. вопрос в том, как?
основным примером может быть:
def func1(some_function):
#call some_function here
и в отдельном модуле:
def func2():
print("Success!")
конечный результат будет:
>>>func1(func2)
'Success!'
Я использую Python 3.4. Я также предполагаю, что работа для функций будет работать для классов.
Try some_function() – Phillip
ничего себе, что просто ... надо любить Гвидо! – Scironic