from types import MethodType
class MyClass:
def __init__(self, value):
self.value = value
def external_func(self, increment):
return self.value + increment
instance = MyClass(10)
instance.method = MethodType(external_func, instance)
print(instance.method(5))
Модуль
types
: класс MethodType
types.MethodType
— это способ динамического добавления функций в экземпляры класса как методы. Это позволяет создавать методы "на лету" и добавлять их в объекты, что может быть полезно в сложных сценариях, когда структура класса определяется динамически.В этом примере функция external_func добавляется в экземпляр класса MyClass как метод. Это позволяет вызывать её как обычный метод класса, используя атрибуты экземпляра.
@PyMapChannel 🐍
❤2