python - 覆盖在导入模块中导入的类
问题描述
我有一个模块,它使用从其他地方导入的类。我想将导入模块使用的类更改为我在程序中定义的类。为了显示:
a.py 模块
class kdtree:
def get(self):
return 5
b.py 模块
from a import kdtree
def execute():
tree = kdtree()
print(tree.get())
将被执行的 c.py 模块
import b
b.execute()
我不想修改 a.py 或 b.py,但我想修改kdtree
为在 c.py 中使用我自己的kdtree
类。这在python中可能吗?
解决方案
您可以在以下位置使用不同的属性覆盖kdtree
模块的属性:b
c.py
# c.py
import b
class kdtree:
def get(self):
return 10
b.kdtree = kdtree
b.execute()
推荐阅读
- node.js - Go firebase 云函数上下文中是否有 auth.id?
- php - 调用未定义的方法 App\Models\Category::factory() laravel
- python - 删除字符串中所有奇数的递归函数;如何包含负号
- javascript - Sequelize - 使用模型中的列名而不是表
- python - 发布请求适用于邮递员,但不适用于 python
- silverlight - “CreateRiaClientFilesTask”任务意外失败。System.Windows.Interactivity
- arrays - 如何以编程方式将多行文本转换为 json 数组?
- python - Python:一个函数接收一个内存密集型参数。该参数应该是只读的。最好的方法是什么?
- react-native - 反应本机键盘应该坚持不工作,但为什么?
- laravel - 如何在删除时在甜蜜警报弹出窗口中进行 axios 调用并在弹出窗口内的下拉列表中显示数据?