Terangkan maksud tampalan monyet dalam Python?

PHPz
Lepaskan: 2023-08-19 11:53:16
ke hadapan
876 orang telah melayarinya

解释Python中的monkey patching是什么意思?

Monkey tampalan adalah teknik pengubahsuaian dinamik sekeping kod pada masa larian Sebenarnya dengan melakukan monkey patch kita mengubah tingkah laku kod tetapi tanpa menjejaskan kod sumber asal.

Sejarah

Perkataan monyet patch berasal daripada gerila patch, gerila hampir bermaksud gorila dan boleh mentakrifkan spesies monyet. Tampalan gerila merujuk kepada membuat perubahan secara rahsia. Tetapi monyet patch berbunyi lebih mudah untuk disebut, jadi ia kini dipanggil "Monyet patch". Dalam perkataan "Monyet-patch", monyet mentakrifkan perkataan dinamik.

Monyet menampal ular sawa

Tampalan monyet dalam ular sawa merujuk kepada mengubah suai atau mengemas kini sekeping kod atau kelas atau mana-mana modul pada masa larian Secara ringkasnya, kita boleh menukar tingkah laku atau kerja kelas/ modul pada masa jalan tanpa mengubah keseluruhan kod python kadangkala tampalan monyet dianggap sebagai amalan buruk kerana definisi objek tidak menggambarkan dengan tepat bagaimana objek itu berkelakuan dalam kod.

Contoh

class first:
   def print(self)
      print(“hello world”)
Salin selepas log masuk

Output

Jika kita menjalankan kod di atas, ia akan menghasilkan output berikut −

Hello world
Salin selepas log masuk
Salin selepas log masuk

Selepas tampalan kod monyet

Contoh

Import monkey
def monkey_function(self):
   print(“Hello world”)
# updating the print() with monkey_function()
monkey.A.print = monkey_function

# revoking method print() as method monkey_function()
obj = monkey.A()
obj print()
Salin selepas log masuk

Output

Jika kita menjalankan kod di atas, ia akan menghasilkan output berikut −

Hello world
Salin selepas log masuk
Salin selepas log masuk

Atas ialah kandungan terperinci Terangkan maksud tampalan monyet dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan