Expliquez ce que signifie le patch singe en Python ?

PHPz
Libérer: 2023-08-19 11:53:16
avant
873 Les gens l'ont consulté

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

Le patching Monkey est la technique de modification dynamique d'un morceau de code au moment de l'exécution. En fait, en faisant du patch singe, nous modifions le comportement du code mais sans affecter le code source d'origine.

Histoire

Le mot Monkey patch est dérivé de guerrilla patch, guérilla signifie presque gorille et peut définir l'espèce de singe. L'application de correctifs de guérilla fait référence au fait d'apporter des modifications en secret. Mais Monkey Patch semble plus facile à prononcer, c'est pourquoi on l'appelle désormais "Monkey Patch". Dans le mot « Monkey-patch », singe définit le mot dynamique.

Patching Monkey en python

Le correctif Monkey en Python fait référence à la modification ou à la mise à jour d'un morceau de code ou d'une classe ou de n'importe quel module au moment de l'exécution. En termes simples, nous pouvons modifier le comportement ou le fonctionnement d'une classe/d'un module au moment de l'exécution sans changer tout le code Python. parfois, le patching singe est considéré comme une mauvaise pratique car la définition de l'objet ne décrit pas avec précision comment l'objet se comporte dans le code.

Exemple

class first:
   def print(self)
      print(“hello world”)
Copier après la connexion

Sortie

Si nous exécutons le code ci-dessus, il générera le résultat suivant −

Hello world
Copier après la connexion
Copier après la connexion

Après le patch Code Monkey

Exemple

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()
Copier après la connexion

Sortie

Si nous exécutons le code ci-dessus, il générera le résultat suivant −

Hello world
Copier après la connexion
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal