Vous ne pouvez pas patcher, Monkey ?
Contrairement à Ruby, Python restreint l'application de correctifs de méthodes sur les types de base comme la classe Number. Cette incapacité provient de l'immuabilité des données définies dans les modules d'extension C, qui englobent les éléments intégrés de Python.
La raison sous-jacente réside dans le partage des modules C entre interprètes au sein d'un même processus. Si le Monkeypatching était autorisé, les modifications apportées à ces modules se propageraient à tous les interprètes, entraînant des conséquences inattendues.
La restriction s'étend au-delà des méthodes à toutes les données définies dans les modules C, rendant impossible l'ajout ou la modification d'attributs, par exemple.
En revanche, les classes créées en code Python peuvent être patchées car elles sont confinées à l'interpréteur spécifique. Cette distinction met en évidence l'immunité des types Python principaux aux modifications provenant du code utilisateur.
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!