Maison  >  Article  >  développement back-end  >  Comment puis-je restaurer les fonctions intégrées remplacées dans Python ?

Comment puis-je restaurer les fonctions intégrées remplacées dans Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 07:56:03832parcourir

How can I restore overridden built-in functions in Python?

Remplacement des fonctions intégrées : restauration des fonctionnalités perdues

Python offre une flexibilité dans la définition de noms personnalisés qui peuvent remplacer les fonctions et les mots-clés intégrés. Cependant, un écrasement accidentel peut poser des problèmes pour accéder aux fonctionnalités d'origine. Cet article explore une méthode pour restaurer le module intégré d'origine, évitant ainsi le besoin de redémarrer la session.

Lors de l'écrasement d'un module intégré, il prend la valeur qui lui est attribuée. Par exemple, l'attribution d'une variable nommée « set » à n'importe quelle valeur masque la fonction « set » d'origine. Pour restaurer l'accès, le nom de masquage doit être supprimé.

Pour ce faire, exécutez l'instruction 'del' suivie du nom attribué, comme le montre l'exemple suivant :

>>> set = 'oops'
>>> set
'oops'
>>> del set
>>> set
<type 'set'>

Ceci l'action supprime « set » de la portée actuelle, révélant la fonction « set » d'origine. Alternativement, le module intégré d'origine est accessible via le module 'builtins' ('__builtin__' dans Python 2), permettant les remplacements tout en conservant l'accès à l'implémentation d'origine :

>>> import builtins
>>> builtins.set
<type 'set'>

Gardez à l'esprit que le nom de masquage peut être défini dans différents espaces de noms, y compris celui actuel et les étendues situées au-dessus. Si le localiser s'avère difficile, reportez-vous à la section « Brève description des règles de portée ? » ressource pour obtenir des informations sur les portées applicables.

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!

Déclaration:
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