Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Terangkan maksud tampalan monyet dalam Python?

Terangkan maksud tampalan monyet dalam Python?

PHPz
PHPzke hadapan
2023-08-19 11:53:16873semak imbas

解释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”)

Output

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

Hello world

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()

Output

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

Hello world

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

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam