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

How do you define a function during dynamic Python type creation

(这是在 Python 3 顺便说一句)

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

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

我想知道的是 type() 如何接受一个函数作为参数并允许它被调用?

我正在寻找如何实现这一目标的示例。大致如下:

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

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

尝试:

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

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