Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在动态Python类型创建期间定义函数_Python_Python 3.x_Dynamic Programming_Metaclass_Class Method - Fatal编程技术网

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

如何在动态Python类型创建期间定义函数,python,python-3.x,dynamic-programming,metaclass,class-method,Python,Python 3.x,Dynamic Programming,Metaclass,Class Method,(这是在Python3 btw中) 好的,假设我们使用type()作为类构造函数: X=type('X',(),{}) 我试图找到的是type()如何接受函数作为参数并允许其可调用 我正在寻找一个如何实现这一目标的例子。大致如下: >>> X = type('X', (), {'name':'World', 'greet':print("Hello {0}!".format(name))} >>> X.greet() Hello World! 您需要传递函数

(这是在Python3 btw中)

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

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

我试图找到的是
type()
如何接受函数作为参数并允许其可调用

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

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

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

尝试:


这与动态规划有什么关系?@juanpa.arrivillaga我的整个项目都与动态规划有关。我选择了围绕问题背后的主要目的的标签,以便吸引那些能够以这种心态回答问题的人。哦,那么功能需要事先定义吗?这有助于这一部分,现在我必须找到一种动态定义函数的方法。很可能是使用
eval()
我敢肯定
def print_hello(self):
    print("Hello {0}!".format(self.name))

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