Heim >Backend-Entwicklung >Python-Tutorial >Erklären Sie, was Monkey Patching in Python bedeutet.

Erklären Sie, was Monkey Patching in Python bedeutet.

PHPz
PHPznach vorne
2023-08-19 11:53:16934Durchsuche

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

Monkey-Patching ist die Technik der dynamischen Änderung eines Codeteils zur Laufzeit. Tatsächlich ändern wir durch das Ausführen von Monkey-Patches das Verhalten des Codes, ohne jedoch den ursprünglichen Quellcode zu beeinträchtigen.

Geschichte

Das Wort Monkey Patch leitet sich von Guerilla Patch ab, Guerilla bedeutet fast Gorilla und kann die Affenart definieren. Unter Guerilla-Patching versteht man das heimliche Vornehmen von Änderungen. Aber „Affe Patch“ klingt einfacher auszusprechen, deshalb heißt es jetzt „Monkey Patch“. Im Wort „Monkey-Patch“ definiert Monkey das Wort Dynamik.

Monkey-Patching in Python

Monkey-Patching in Python bezieht sich auf das Ändern oder Aktualisieren eines Codeteils oder einer Klasse oder eines beliebigen Moduls zur Laufzeit. Mit einfachen Worten: Wir können das Verhalten oder die Funktionsweise einer Klasse/eines Moduls zur Laufzeit ändern, ohne den gesamten Python-Code zu ändern Manchmal wird das Patchen von Affen als schlechte Praxis angesehen, da die Definition des Objekts nicht genau beschreibt, wie sich das Objekt im Code verhält.

Beispiel

class first:
   def print(self)
      print(“hello world”)

Ausgabe

Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert: −

Hello world

Nach dem Code Monkey Patch

Beispiel

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

Ausgabe

Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert: −

Hello world

Das obige ist der detaillierte Inhalt vonErklären Sie, was Monkey Patching in Python bedeutet.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen