✔️ موضوع Monkey Patching در پایتان چیست؟
پایتان یک زبان برنامهنویسی پویاست و این یعنی میشه رفتار کد رو حین اجرا تغییر داد. Monkey Patching یه تکنیکیه که بهمون اجازه میده تا کلاسها و ماژولها رو حین اجرا تغییر بدیم.
مثل اینکه بخواهیم تو کار یه ماشین دستکاری کنیم وقتی که داره کار میکنه!
به مثال زیر دقت کنید:
class monkey:
def patch(self):
print("patch() is being called")
def monk_p(self):
print("monk_p() is being called")
# جایگزین کردن patch با monk_p
monkey.patch = monk_p
obj = monkey()
obj.patch() # monk_p() is being called
تو این مثال یه کلاس monkey با یه متد patch ساختیم. یه تابع دیگه هم به اسم monk_p بیرون از کلاس تعریف کردیم. حالا با جایگزین کردن monkey.patch با monk_p تونستیم رفتار patch رو تغییر بدیم.
جالبه که وقتی یه آبجکت از کلاس monkey درست میکنیم و متد patch رو صدا میزنیم، خروجی monk_p رو می بینیم. این یعنی با
Monkey Patching تونستیم رفتار کد رو حین اجرا تغییر بدیم (منبع: تیچفای).
@Cyberstudents