如何更改 python 模块中的功能?
How to change a function in python module?
我试图修改 class 中的函数。我正在按照此 中的步骤操作。我想了解为什么更改不起作用。
函数为:
def explain(self, test_df, row_index=None, row_num=None, class_id=None, bacckground_size=50, nsamples=500)
来自模块 ktrain
我试图自己获取形状值而不是绘图。我的改动在
def alternative_explain (self, test_df, row_index=None, row_num=None, class_id=None, background_size=50, nsamples=500)
那我试试:
import types
import ktrain
funcType = types.MethodType
predictor1 = TabularPredictor()
但是出现“名称 'TabularPredictor' 未定义的错误。同样,我无法从 TabularPredictor
创建新的继承 class。我做错了什么?
更新: 我导入了 ktrain
听起来您对 python import
语句有点困惑,它有几种替代语法。
使用 import ktrain
只会在您的代码中导入对模块 ktrain
的引用;如果您希望您的代码引用 inside ktrain
模块中的任何内容,您需要使用点符号,例如ktrain.TabularPredictor()
。优点:现在可以从您的代码中访问 ktrain
模块中的所有内容。缺点:每次要创建 class 的实例时输入 ktrain.TabularPredictor()
可能有点冗长,实际上您可能 需要 一个或来自该模块的两个 classes。
使用 from ktrain import TabularPredictor
将使 TabularPredictor class 在代码的命名空间中可访问,因此无需使用点符号;您可以在要创建实例时键入 TabularPredictor()
。优点:不那么冗长,您只需导入您需要的内容(其他 class 中的 none 或 ktrain
中的函数可以从您的代码中访问)。缺点:稍后您可能会发现模块中的其他一些 classes/functions 很有用,这意味着您必须更改导入语句。必须从同一个模块中单独导入 10 个不同的 classes 也很痛苦。
您可以阅读更多内容here。
我试图修改 class 中的函数。我正在按照此
函数为:
def explain(self, test_df, row_index=None, row_num=None, class_id=None, bacckground_size=50, nsamples=500)
来自模块 ktrain
我试图自己获取形状值而不是绘图。我的改动在
def alternative_explain (self, test_df, row_index=None, row_num=None, class_id=None, background_size=50, nsamples=500)
那我试试:
import types
import ktrain
funcType = types.MethodType
predictor1 = TabularPredictor()
但是出现“名称 'TabularPredictor' 未定义的错误。同样,我无法从 TabularPredictor
创建新的继承 class。我做错了什么?
更新: 我导入了 ktrain
听起来您对 python import
语句有点困惑,它有几种替代语法。
使用 import ktrain
只会在您的代码中导入对模块 ktrain
的引用;如果您希望您的代码引用 inside ktrain
模块中的任何内容,您需要使用点符号,例如ktrain.TabularPredictor()
。优点:现在可以从您的代码中访问 ktrain
模块中的所有内容。缺点:每次要创建 class 的实例时输入 ktrain.TabularPredictor()
可能有点冗长,实际上您可能 需要 一个或来自该模块的两个 classes。
使用 from ktrain import TabularPredictor
将使 TabularPredictor class 在代码的命名空间中可访问,因此无需使用点符号;您可以在要创建实例时键入 TabularPredictor()
。优点:不那么冗长,您只需导入您需要的内容(其他 class 中的 none 或 ktrain
中的函数可以从您的代码中访问)。缺点:稍后您可能会发现模块中的其他一些 classes/functions 很有用,这意味着您必须更改导入语句。必须从同一个模块中单独导入 10 个不同的 classes 也很痛苦。
您可以阅读更多内容here。