我有很多不同的函数要在特定类的实例上操作,DSM
。我希望它们既可以作为类的实例函数,也可以作为模块级的独立函数。函数当前存储在两个不同的模块中,similarity.py
和compositions.py
,而类存储在model.py
。你知道吗
因此,我可以从每个模块导入函数,并以一种传统的方式将函数应用于类similarity.cos(dsm_instance, arg1, arg2)
,这就是我想要的。我还想让每个模块中的所有函数自动添加到类实例中,这样我就可以调用dsm_instance.cos(arg1, arg2)
。你知道吗
因为创建类实例要花很多时间,所以我会在创建每个实例后立即缓存它们。因此,我更希望在运行时将每个模块中的函数添加到类实例中。这是为了能够修复任何bug并向每个类实例添加新功能,而不需要重新创建实例本身。你知道吗
总结一下:如何自动添加特定模块中的所有函数,使函数在运行时添加,而不是在创建实例时添加?你知道吗
这感觉有点像黑客,但下面的方法会奏效。我使用scikit-bio作为例子,只是因为它是现成的。如果您在模块中定义了
__all__
,或者其他一些包含感兴趣的名称的变量,那么您可以导入它并动态更新后续对象。你知道吗希望这有帮助!你知道吗
相关问题 更多 >
编程相关推荐