为什么我的猴子补丁不起作用?

Dim*_*lov -1 python

我正在尝试向我导入的类添加方法.

这是我的代码:

from pyrser.parsing import node

def to_dxml(self):
    return "test"

node.Node().to_dxml = to_dxml

tree = node.Node()
tree.ls = [1, 2.0, "titi", True, [2, 3, 4, [3, [3, 4]], 5]]
tree.dct = {"g":1, "y":2, "koko":{'D', 'T', 'C'}}
tree.aset = {'Z', 'X', 'T', 'U'}
tree.ablob = b'\xFF\xaa\x06Th -}'
print(tree.to_dxml())
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,我得到了

AttributeError: 'Node' object has no attribute 'to_dxml'
Run Code Online (Sandbox Code Playgroud)

知道为什么它不起作用吗?

Dhr*_*hak 6

您需要向类添加属性,而不是对象.

node.Node().to_dxml = to_dxml
Run Code Online (Sandbox Code Playgroud)

应该

node.Node.to_dxml = to_dxml
Run Code Online (Sandbox Code Playgroud)