آموزش monkey patch در پایتون
پایتون یک زبان برنامه نویسی پویا است. نه تنها دارای یک سیستم نوع پویا است که در آن می توان یک متغیر را ابتدا به یک نوع اختصاص داد و بعداً تغییر داد، بلکه مدل شیء آن نیز پویا است. این به ما امکان می دهد رفتار آن را در زمان اجرا تغییر دهیم. پیامد این امر امکان monkey patch است.
وصله میمون تکنیک اصلاح پویا یک قطعه کد در زمان اجرا است. در واقع با انجام وصله میمون، رفتار کد را تغییر میدهیم اما بدون اینکه روی کد منبع اصلی تأثیر بگذاریم. مفهوم monkey patch در پایتون به اصلاح یا به روز رسانی یک کد یا کلاس یا هر ماژول در زمان اجرا اشاره دارد. به عبارت ساده، میتوانیم رفتار یا عملکرد یک کلاس/ماژول را در زمان اجرا بدون تغییر کل کد پایتون تغییر دهیم.
دوره پیشنهادی: دوره اول آموزش پروژه محور پایتون
پایتون یک زبان تفسیری است، بنابراین می توانیم در حین اجرای برنامه تغییراتی ایجاد کنیم. ما می توانیم از این ویژگی در پایتون برای تغییر رابط یک کلاس یا یک ماژول استفاده کنیم. اگر با کد یا کدهای قدیمی از افراد دیگر سروکار داریم که نمیخواهیم آن را به طور گسترده تغییر دهیم، اما همچنان میخواهیم آن را با نسخههای مختلف کتابخانهها یا محیطها اجرا کنیم، مفید است.
به کد زیر دقت کنید:
class A:
def show(self):
print('show method...')
def greeting():
print('Hello!!!')
A.show = greeting
A.show()
# OUTPUT
Hello!!!
در قطعه کد بالا از روش monkey patch پایتون برای تغییر رفتار متد show استفاده کردیم. در کد بالا، رفتار پیشفرض متد show غیرفعال شده و با صدا زدن متد show، تابع greeting فعال خواهد شد.
ارسال نظر