Double soulignement en Python

Vaibhhav Khetarpal 30 janvier 2023
  1. Utiliser le trait de soulignement double en Python
  2. Utiliser le double trait de soulignement de début et de fin en Python
Double soulignement en Python

Le trait de soulignement (_) et le double trait de soulignement (__) ont une grande importance dans le monde de la programmation Python et sont excessivement utilisés par les programmeurs à des fins différentes. Les doubles traits de soulignement sont assez pratiques et sont fréquemment rencontrés dans le code Python.

Dans cet article, nous discuterons de la signification du double trait de soulignement en Python.

Utiliser le trait de soulignement double en Python

Lorsque le double trait de soulignement mène à un identifiant donné (__var), le processus de modification du nom se produit sur cet identifiant particulier.

La modification des noms, en termes simples, consiste essentiellement à réécrire le nom de l’attribut afin d’éviter les conflits de noms avec les sous-classes.

Vous pouvez utiliser le code suivant pour expliquer le double trait de soulignement en Python.

class E1:
    def __init__(self):
        self.bar = 11
        self._baz = 23
        self.__foo = 23


x = E1()
print(dir(x))

Production:

['_E1__foo', '__doc__', '__init__', '__module__', '_baz', 'bar']

Explication

  • Dans le code ci-dessus, nous prenons une classe et comparons les éléments de soulignement simple, double et normal.
  • Les éléments foo, bar, baz sont de simples mots-clés utilisés ici comme espace réservé pour les valeurs qui changent selon les conditions passées au programme ou les nouvelles informations reçues par le programme.
  • La fonction dir() est utilisée ici pour fournir une liste des attributs valides de l’objet donné passé en argument dans la fonction.

Dans le code ci-dessus, nous remarquons que les variables bar et _baz semblent être inchangées, tandis que la variable __foo a été changée en _E1__foo. C’est le processus d’enchevêtrement de noms se produisant sur la variable, et il est fait pour protéger la variable contre le remplacement dans les sous-classes.

Ce processus de nommage des variables avec un double trait de soulignement en tête est totalement transparent pour le programmeur. Le nom mutilant interagit avec et change tout ce qui mène avec un double trait de soulignement, y compris les fonctions.

Utiliser le double trait de soulignement de début et de fin en Python

Lorsqu’une variable est entourée d’un double trait de soulignement à la fois au début et à la fin, le processus de modification des noms ne lui est pas appliqué.

Les variables regroupées par le double trait de soulignement en tant que préfixe et suffixe sont ignorées par l’interpréteur Python.

Vous pouvez utiliser le code suivant pour expliquer le double trait de soulignement de début et de fin en Python.

class A:
    def __init__(self):
        self.__foo__ = 10


print(A().__foo__)

Production:

10

Dans le code ci-dessus, la variable foo avec un double trait de soulignement comme préfixe et suffixe est ignorée par l’interpréteur, et la modification du nom ne se produit pas. La valeur de cette fonction est renvoyée en sortie, ce qui prouve que la variable existe dans la liste d’attributs d’objet.

Certains noms uniques, comme init ou call qui contiennent à la fois le double trait de soulignement de début et de fin, sont réservés dans le langage Python pour un usage spécial.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Article connexe - Python Syntax