آموزش monkey patch در پایتون

امیرحسین بیگدلو June 2023

پایتون یک زبان برنامه نویسی پویا است. نه تنها دارای یک سیستم نوع پویا است که در آن می توان یک متغیر را ابتدا به یک نوع اختصاص داد و بعداً تغییر داد، بلکه مدل شیء آن نیز پویا است. این به ما امکان می دهد رفتار آن را در زمان اجرا تغییر دهیم. پیامد این امر امکان 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 فعال خواهد شد.

ویدیوهای مشابه



آموزش cause و context در پایتون
امیرحسین بیگدلو

ارسال نظر


pkpy

1 ماه قبل پاسخ به نظر

آقا امیر خیلی ارادت داریم
ممنون بخاطر آموزش هاتون

ارسال نظر



hosein

8 ماه قبل پاسخ به نظر

من پایتون رو جای دیگه ایی یادگرفتم. ولی عاشق ویدیو های تک قسمتیتون هستم. میتونم بگم اگر کسی خواست تا مباحث پیشرفته رو یاد بگیره شما عالی هستید

ارسال نظر



Alireza

11 ماه قبل پاسخ به نظر

عالی بود
ولی هنوزم نفهمیدم کجاها کاربرد داره

ارسال نظر



مونگارد