导入时应用包装器(python)
有没有办法让一个完整的模块“矢量化” 我所拥有的:导入时应用包装器(python),python,numpy,Python,Numpy,有没有办法让一个完整的模块“矢量化” 我所拥有的: python模块,具有许多接受浮点/返回浮点的函数 \uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu在该模块中正确定义 我想做的是: 具有numpy浮点向量 从my_模块导入*直接导入命名空间 调用return eval('function\u from\u my\u module(my\u numpy\u vector,…) 当然,现在的问题是,我必须将nump
- python模块,具有许多接受浮点/返回浮点的函数
在该模块中正确定义\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
- 具有
浮点向量numpy
直接导入命名空间从my_模块导入*
- 调用
return eval('function\u from\u my\u module(my\u numpy\u vector,…)
numpy.vectorize
(这对于我的用例非常有效)应用到所有来自函数模块的函数上
自动导入时使函数“矢量化”的最佳方法是什么(请记住,
\uuuuuu all\uuuu
已经定义)?为什么应用vectorize
首先是一个问题?当然,应用numpy.vectorize
只要写下来就没有问题。但是,我的观点是有一些代码行将应用numpy.vectorize
自动在\uuuuuuuuuuuu\uuuuu
中的所有元素上,这可能是一个相当长的列表。您可以使用模块上的dir
执行此操作,从中提取可调用函数,然后重新分配它们的符号,可能使用eval
。这看起来像是一个黑客攻击,我看不出有什么理由不简单地对函数应用矢量化
修饰符。没有必要从dir(…)中提取某些内容
因为所有要导入的函数名都已经在\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
中指定。所以我可以迭代它并使用\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu(这基本上是一个使用ctypes的包装器)。