繁体   English   中英

覆盖在导入模块中导入的类

[英]Overide a class imported in a imported module

我有一个模块,它使用从其他地方导入的类。 我想将导入模块使用的类更改为我在程序中定义的类。 为了显示:

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中吗?

您可以使用c.py的另一个值覆盖模块bkdtree属性:

# c.py
import b
class kdtree:
    def get(self):
        return 10
b.kdtree = kdtree
b.execute()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM