Python动态修改实例对象的方法

代码如下:

import types

# 定义一个类
class MyClass:
    def original_method(self):
        # 原始的执行函数
        print("原始的执行函数")

# 创建类的实例
my_object = MyClass()

# 定义新的执行函数
def new_function(self):
    # 在这里定义新的执行函数
    print("新的执行函数")

# 将函数转换为方法,并将实例对象作为参数传递
my_object.original_method = types.MethodType(new_function, my_object)

# 调用新的方法
my_object.original_method()

如果直接my_object.original_method = new_function, 那么在调用时必须输入self参数, 比如my_object.original_method(my_object).

posted @ 2023-06-25 16:47  顺其自然,道法自然  阅读(246)  评论(0编辑  收藏  举报