


Comment les traits de soulignement simples et doubles affectent-ils la visibilité des variables et des méthodes en Python ?
Démasquer le trait de soulignement : comprendre le trait de soulignement simple et double en Python
En Python, la présence d'un ou deux traits de soulignement avant un identifiant peut modifier sa signification et sa visibilité au sein d'une classe ou d'un module.
Soulignage unique : usage interne Indicateur
Un trait de soulignement signifie qu'un attribut ou une méthode est destiné à un usage interne au sein de la classe actuelle. Cependant, il ne s’agit là que d’une convention ; la confidentialité n’est pas respectée. De plus, des traits de soulignement uniques dans les fonctions du module indiquent qu'ils ne doivent pas être importés par des modules externes.
Double trait de soulignement : modification du nom
Deux traits de soulignement signifient une modification du nom. Ces identifiants sont transformés en interne avec un ClassName ajouté, où ClassName est le nom de la classe actuelle sans les traits de soulignement de début supprimés. Ce mécanisme permet la définition d'instances privées de classe et de variables de classe et offre une certaine protection contre les accès externes. Cependant, il est important de noter que la modification des noms ne garantit pas une confidentialité absolue, car des individus déterminés peuvent toujours accéder à des variables privées.
Exemple :
Considérons la classe suivante :
class MyClass(): def __init__(self): self.__superprivate = "Hello" self._semiprivate = ", world!"
- __superprivate est une variable véritablement privée, accessible uniquement dans l'instance MyClass et non accessible directement depuis à l'extérieur.
- _semiprivate est classiquement privé mais est accessible directement.
Comme démontré dans l'exemple de sortie, l'accès à __superprivate entraîne directement une AttributeError, tandis que _semiprivate est accessible.
L'attribut __dict__ révèle l'existence à la fois de __superprivate et _semiprivate comme mutilé, confirmant le nom de mécanisme de mutilation.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Fastapi ...

Utilisation de Python dans Linux Terminal ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

À propos de Pythonasyncio ...

Comprendre la stratégie anti-rampe d'investissement.com, Beaucoup de gens essaient souvent de ramper les données d'actualités sur Investing.com (https://cn.investing.com/news/latest-news) ...

Chargement du fichier de cornichon dans Python 3.6 Erreur d'environnement: modulenotFounonError: NomoduLenamed ...

Discussion sur les raisons pour lesquelles les fichiers de pipelines ne peuvent pas être écrits lors de l'utilisation de robots scapisnels lors de l'apprentissage et de l'utilisation de Crawlers scapides pour un stockage de données persistant, vous pouvez rencontrer des fichiers de pipeline ...
