monkey patching in python code example
Example 1: what is a monkey patch
from SomeOtherProduct.SomeModule import SomeClass
def speak(self):
return "ook ook eee eee eee!"
SomeClass.speak = speak
Example 2: monkey patching in python
In Python, the term monkey patch refers to dynamic (or run-time) modifications of a class or module. In Python, we can actually change the behavior of code at run-time.
filter_none
# monk.py
class A:
def func(self):
print ("func() is being called")
We use above module (monk) in below code and change behavior of func() at run-time by assigning different value.
filter_none
import monk
def monkey_f(self):
print ("monkey_f() is being called")
# replacing address of "func" with "monkey_f"
monk.A.func = monkey_f
obj = monk.A()
# calling function "func" whose address got replaced
# with function "monkey_f()"
obj.func()