Вам нужно передать функцию. В вашем коде вы вызываете функцию и передаете результат.
Пытаться:
def print_hello(self):
print("Hello {0}!".format(self.name))
X = type('X', (), {'name':'World', 'greet': print_hello})
(Это в Python 3 битвы)
Итак, скажем, мы используем type()
конструктор классов:
X = type('X', (), {})
То, что я пытаюсь найти, - это как type()
принять функцию в качестве аргумента и позволить ей быть вызываемой?
Я ищу пример того, как это можно сделать. Что-то вроде:
>>> X = type('X', (), {'name':'World', 'greet':print("Hello {0}!".format(name))}
>>> X.greet()
Hello World!
python,python-3.x,dynamic-programming,metaclass,class-method,