[Python] Avant le trait de soulignement (underbar) Quelles sont les deux fonctions?

Parfois, il y a deux traits de soulignement avant la fonction dans la classe

    def __hogehoge():
        print('Hello.')

Je ne savais pas ce que cela signifiait, donc un mémorandum Conclusion: ne peut être appelé que dans cette classe

Essayez de pratiquer

Essayons réellement ~ Préparez l'échantillon suivant

train.py


class Hoge:
    def __init__(self):
        print('this is init function.')
        
    def public():
        print('this is public function.')
    
    def __private():
        print('this is private function.')

Accédez au répertoire où se trouve ce fichier dans [Terminal], puis exécutez comme suit.

Exécution de la classe Hoge

__init__ est toujours appelé lorsque vous exécutez la classe

$python
>>> from train import Hoge 
>>> Hoge()
this is init function.

Exécution de la fonction publique

Entrez ce qui suit dans la suite du terminal

>>> Hoge.public()
this is public function.

Les fonctions sans aucun lien peuvent être appelées sans problème

Exécution d'une fonction privée

Entrez ce qui suit dans la suite du terminal

>>> Hoge.__private()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'Hoge' has no attribute '__private'

Échec d'appel externe

Post-scriptum: 19/12/4 J'ai reçu un commentaire. Si vous voulez vraiment l'appeler, vous pouvez l'appeler en tapant Foo._Foo__a```! Merci pour l'information.

Recommended Posts

[Python] Avant le trait de soulignement (underbar) Quelles sont les deux fonctions?
À quoi sert le trait de soulignement Python (_)?
Pas étonnamment connu! ?? Qu'en est-il des arguments de fonction intégrés? De quelle école êtes-vous? [Python]
[Python] Qu'est-ce que @? (À propos des décorateurs)
[Python] Que sont @classmethod et les décorateurs?
[python] Quelle est la clé triée?
Fonctions Python
underbar python C'est ce que
Qu'est-ce que "mahjong" dans la bibliothèque Python? ??
Python open et io.open sont les mêmes
Le contenu du didacticiel Python (chapitre 5) est résumé dans une puce.
Quand les fonctions python affectent-elles les arguments de l'appelant?
Le contenu du didacticiel Python (chapitre 4) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 2) est résumé dans une puce.
Qu'est-ce que wheezy dans l'image Docker Python?
Le contenu du didacticiel Python (chapitre 8) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 1) est résumé dans une puce.
[Minecraft] Quels sont les éléments importants de la survie?
Le contenu du didacticiel Python (chapitre 10) est résumé dans une puce.
Que comparez-vous avec Python et ==?
[Note] À propos du rôle du trait de soulignement "_" en Python
Le contenu du didacticiel Python (chapitre 6) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 3) est résumé dans une puce.
Que sont les taples et * args python après tout?
Qu'utilisez-vous lorsque vous testez avec Python?
Variable de soulignement Python
Qu'est-ce que python
# Bases de Python (fonctions)
[Débutant] Fonctions Python
Fonctions Python faciles à utiliser
bases de python: fonctions
Qu'est-ce que Python
Ce que je suis entré dans Python pour la première fois
Le VIF calculé par Python et le VIF calculé par Excel sont différents .. ??
Ingénierie des fonctionnalités des prévisions financières: quelles sont les fonctionnalités des prévisions financières?
Utilisation de l'application LibreOffice en Python (1) Où sont les macros?
Que signifie le dernier () dans une fonction en Python?
J'ai essayé de résumer ce que l'homme fort de python fait dans le quartier des professionnels de la compétition
Quel type d'environnement les personnes qui apprennent Python pour la première fois devraient-elles créer?