Maison >développement back-end >Tutoriel Python >Quelle est la différence entre les traits de soulignement simples et doubles dans les noms d'objet Python ?
En Python, les conventions de dénomination jouent un rôle crucial dans la dénomination des objets. Les traits de soulignement simples et doubles placés devant le nom d'un objet ont des significations spécifiques qui guident les programmeurs dans la compréhension de la portée et de l'accessibilité de cet objet.
Un seul trait de soulignement dans le nom d'un objet suggère qu'il est destiné à un usage interne au sein de la classe. C'est une manière d'indiquer que l'objet n'est pas destiné à être consulté ou modifié depuis l'extérieur de la classe. Cependant, il est important de noter que cette convention est une ligne directrice plutôt qu'une restriction imposée.
Des traits de soulignement simples sont également utilisés pour désigner des modules ou des fonctions qui ne doivent pas être importés d'ailleurs. En préfixant le nom de l'objet avec un trait de soulignement, cela signifie aux autres programmeurs qu'il doit être traité comme un élément privé.
Les traits de soulignement doubles sont utilisés pour la modification du nom, une technique qui modifie le nom de l'objet en arrière-plan. Cette transformation remplace le nom de l'objet par une version modifiée qui inclut le nom de la classe et les traits de soulignement.
Selon la documentation de Python, les doubles traits de soulignement indiquent qu'un objet doit être traité comme une variable ou une méthode privée au sein de la classe actuelle. Cependant, il est essentiel de comprendre que la mutilation des noms n’est pas absolue. Les individus déterminés peuvent toujours accéder ou modifier les variables marquées comme privées.
Considérons la classe Python suivante :
class MyClass(): def __init__(self): self.__superprivate = "Hello" self._semiprivate = ", world!" mc = MyClass() print(mc._semiprivate) # Accessible print(mc.__superprivate) # Not accessible outside the class
Dans Dans cet exemple, la variable __superprivate est marquée comme privée à l'aide de doubles traits de soulignement, tandis que la variable _semiprivate utilise un seul trait de soulignement. souligner. La variable __superprivate est inaccessible en dehors de la classe, tandis que la variable _semiprivate est accessible mais doit être considérée comme interne à la classe.
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!