如何在动态Python类型创建期间定义函数

时间:2016-10-16 07:21:14

标签: python python-3.x dynamic-programming metaclass class-method

(这是Python 3 btw)

好的,我们假设我们使用type()作为类构造函数:

X = type('X', (), {})

我想要找到的是type()如何接受函数作为参数并允许它可调用?

我正在寻找一个如何实现这一目标的例子。有点像:

>>> X = type('X', (), {'name':'World', 'greet':print("Hello {0}!".format(name))}
>>> X.greet()
Hello World!

1 个答案:

答案 0 :(得分:2)

您需要传递该功能。在您的代码中,您调用该函数,并传递结果。

尝试:

def print_hello(self):
    print("Hello {0}!".format(self.name))

X = type('X', (), {'name':'World', 'greet': print_hello})